@yuneta/gobj-js 7.7.2 → 7.7.3

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.
@@ -142,7 +142,7 @@ var gobjJs = function(e) {
142
142
  DTP_POINTER: 8
143
143
  });
144
144
  E.DTP_POINTER;
145
- var T = Object.freeze({
145
+ var y = Object.freeze({
146
146
  SDF_NOTACCESS: 1,
147
147
  SDF_RD: 2,
148
148
  SDF_WR: 4,
@@ -165,12 +165,12 @@ var gobjJs = function(e) {
165
165
  SDF_AUTHZ_S: 524288,
166
166
  SDF_AUTHZ_RS: 1048576
167
167
  });
168
- T.SDF_RD, T.SDF_WR, T.SDF_STATS, T.SDF_PERSIST, T.SDF_VOLATIL, T.SDF_RSTATS, T.SDF_PSTATS, T.SDF_WR, T.SDF_PERSIST;
169
- var y = class {
168
+ y.SDF_RD, y.SDF_WR, y.SDF_STATS, y.SDF_PERSIST, y.SDF_VOLATIL, y.SDF_RSTATS, y.SDF_PSTATS, y.SDF_WR, y.SDF_PERSIST;
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 y(0, null), j = (e, t, n, r, i) => new y(e, t, n, r, i), S = class {
173
+ }, v = () => new T(0, null), j = (e, t, n, r, i) => new T(e, t, n, r, i), S = 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
  }
@@ -486,7 +486,7 @@ var gobjJs = function(e) {
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 & T.SDF_DEPRECATED && kt(`${we(i)}: Deprecated attribute used in gobj creation: ${l}`), o += F(i, e, t, s)) : r && (r(i, l), o--);
489
+ t ? (-1 === n || t.flag & n) && (t.flag & y.SDF_DEPRECATED && kt(`${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
492
  })(G(e), r, -1, e.gclass.gclass_flag & N.gcflag_ignore_unknown_attrs ? 0 : ie, e) < 0 && (Rt(`${we(e)} json2data() FAILED`), It(r));
@@ -590,22 +590,22 @@ var gobjJs = function(e) {
590
590
  function Ee(e) {
591
591
  return !!(e && e.gobj_flag & w.gobj_flag_service);
592
592
  }
593
- function Te(e) {
593
+ function ye(e) {
594
594
  return !Ae(e) && e.playing;
595
595
  }
596
- function ye() {
596
+ function Te() {
597
597
  return !p || p.obflag & D.obflag_destroyed ? null : p;
598
598
  }
599
599
  function ve() {
600
- let e = ye();
600
+ let e = Te();
601
601
  return e ? Oe(e) : "";
602
602
  }
603
603
  function je() {
604
- let e = ye();
604
+ let e = Te();
605
605
  return e ? Qe(e, "yuno_role") : "";
606
606
  }
607
607
  function Se() {
608
- let e = ye();
608
+ let e = Te();
609
609
  return e ? Qe(e, "yuno_id") : "";
610
610
  }
611
611
  function Oe(e) {
@@ -756,7 +756,7 @@ var gobjJs = function(e) {
756
756
  if (t) {
757
757
  if (0 === sn(t, "__disabled__")) return he(e);
758
758
  if (0 === sn(t, "__running__")) return me(e);
759
- if (0 === sn(t, "__playing__")) return Te(e);
759
+ if (0 === sn(t, "__playing__")) return ye(e);
760
760
  if (0 === sn(t, "__service__")) return Ee(e);
761
761
  }
762
762
  let n = V(e, t, !1);
@@ -1012,7 +1012,7 @@ 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), Tt = Et.error, yt = Et.warn, vt = Et.info, jt = Et.debug, St = null;
1015
+ }), "undefined" != typeof window ? window.console : console), yt = Et.error, Tt = Et.warn, vt = Et.info, jt = Et.debug, St = null;
1016
1016
  var Ot = !1;
1017
1017
  function Nt(e, t, n) {
1018
1018
  if (St && !Ot) {
@@ -1025,7 +1025,7 @@ var gobjJs = function(e) {
1025
1025
  }
1026
1026
  }
1027
1027
  function wt(e) {
1028
- e ? (Tt = e, yt = e) : (Tt = Et.error, yt = Et.warn);
1028
+ e ? (yt = e, Tt = e) : (yt = Et.error, Tt = Et.warn);
1029
1029
  }
1030
1030
  function Dt(e) {
1031
1031
  const t = Array.prototype.slice.call(arguments);
@@ -1051,11 +1051,11 @@ var gobjJs = function(e) {
1051
1051
  }
1052
1052
  function Rt(e) {
1053
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);
1054
+ yt && (yt === window.console.error ? yt("%c" + n + " ERROR: " + String(t), "color:red") : (window.console.error("%c" + n + " ERROR: " + String(t), "color:red"), yt(`${n} ERROR: ${String(t)}`))), Nt("error", t, n);
1055
1055
  }
1056
1056
  function kt(e) {
1057
1057
  let t = Dt(e), n = Kn();
1058
- yt && (yt === window.console.warn ? yt("%c" + n + " WARNING: " + String(t), "color:yellow") : (window.console.warn("%c" + n + " WARNING: " + String(t), "color:yellow"), yt(`${n} WARNING: ${String(t)}`))), Nt("warning", t, n);
1058
+ Tt && (Tt === window.console.warn ? Tt("%c" + n + " WARNING: " + String(t), "color:yellow") : (window.console.warn("%c" + n + " WARNING: " + String(t), "color:yellow"), Tt(`${n} WARNING: ${String(t)}`))), Nt("warning", t, n);
1059
1059
  }
1060
1060
  function $t(e) {
1061
1061
  let t = Dt(e), n = Kn();
@@ -1300,18 +1300,18 @@ var gobjJs = function(e) {
1300
1300
  }
1301
1301
  return 0;
1302
1302
  }
1303
- function Tn(e, t, n, r, i) {
1303
+ function yn(e, t, n, r, i) {
1304
1304
  if (e && !nn(e) && Rt("GObj bad instanceof"), !Qt(t)) return Rt("kw is not an object"), -1;
1305
1305
  let o = mn(e, t, n, {}, !0);
1306
1306
  return Qt(o) ? (o[r] = i, 0) : (Rt("subdict is not an object"), -1);
1307
1307
  }
1308
- function yn(e, t, r) {
1308
+ function Tn(e, t, r) {
1309
1309
  let i = "", o = !1;
1310
1310
  if (qt(t)) {
1311
1311
  o = !1;
1312
1312
  for (let l = 0; l < t.length; l++) {
1313
1313
  let s = t[l];
1314
- if (i = rn(r) ? n("%s", r) : n("%s`%d", r, l), o = yn(e, s, i), o) break;
1314
+ if (i = rn(r) ? n("%s", r) : n("%s`%d", r, l), o = Tn(e, s, i), o) break;
1315
1315
  }
1316
1316
  } else if (Qt(t)) {
1317
1317
  o = !0;
@@ -1319,7 +1319,7 @@ var gobjJs = function(e) {
1319
1319
  for (let s = 0; s < l.length; s++) {
1320
1320
  let _ = l[s], a = t[_];
1321
1321
  if (i = rn(r) ? n("%s", _) : n("%s`%s", r, _), qt(a) || Qt(a)) {
1322
- if (o = yn(e, a, i), !o) break;
1322
+ if (o = Tn(e, a, i), !o) break;
1323
1323
  continue;
1324
1324
  }
1325
1325
  let u = hn(0, e, i, 0, 0);
@@ -1336,7 +1336,7 @@ var gobjJs = function(e) {
1336
1336
  return o;
1337
1337
  }
1338
1338
  function vn(e, t) {
1339
- return 0 === zt(t) || yn(e, t, "");
1339
+ return 0 === zt(t) || Tn(e, t, "");
1340
1340
  }
1341
1341
  function jn(e, t, n, r) {
1342
1342
  e && !nn(e) && Rt("GObj bad instanceof");
@@ -1473,7 +1473,7 @@ var gobjJs = function(e) {
1473
1473
  return i ? 0 === i.length ? (r && Rt(`stack empty: ${n}`), null) : i[0] : (r && Rt(`stack NOT FOUND: ${n}`), null);
1474
1474
  }
1475
1475
  function Un(e, t, n) {
1476
- return rn(n) ? fn(e, t, "__md_iev__`__msg_type__") : Tn(e, t, "__md_iev__", "__msg_type__", n), 0;
1476
+ return rn(n) ? fn(e, t, "__md_iev__`__msg_type__") : yn(e, t, "__md_iev__", "__msg_type__", n), 0;
1477
1477
  }
1478
1478
  function Cn(e, t) {
1479
1479
  return bn(e, t, "__md_iev__`__msg_type__", "", 0);
@@ -1655,7 +1655,8 @@ var gobjJs = function(e) {
1655
1655
  is_hidden: !1,
1656
1656
  default_value: e.default,
1657
1657
  placeholder: e.placeholder,
1658
- fillspace: e.fillspace || 4
1658
+ fillspace: e.fillspace || 4,
1659
+ fkey: e.fkey || null
1659
1660
  };
1660
1661
  if (!e.flag) return t;
1661
1662
  for (let n = 0; n < e.flag.length; n++) {
@@ -1779,25 +1780,25 @@ var gobjJs = function(e) {
1779
1780
  mt_destroy: function(e) {},
1780
1781
  mt_play: function(e) {
1781
1782
  let t = Z();
1782
- return me(t) || ae(t), Te(t) || be(t), 0;
1783
+ return me(t) || ae(t), ye(t) || be(t), 0;
1783
1784
  },
1784
1785
  mt_pause: function(e) {
1785
1786
  return pe(Z()), 0;
1786
1787
  }
1787
1788
  };
1788
1789
  var fr = "ievent_gate_stack", gr = [
1789
- j(E.DTP_STRING, "wanted_yuno_role", T.SDF_RD, "", "wanted yuno role"),
1790
- j(E.DTP_STRING, "wanted_yuno_name", T.SDF_RD, "", "wanted yuno name"),
1791
- j(E.DTP_STRING, "wanted_yuno_service", T.SDF_RD, "", "wanted yuno service"),
1792
- j(E.DTP_STRING, "remote_yuno_role", T.SDF_RD, "", "confirmed remote yuno role"),
1793
- j(E.DTP_STRING, "remote_yuno_name", T.SDF_RD, "", "confirmed remote yuno name"),
1794
- j(E.DTP_STRING, "remote_yuno_service", T.SDF_RD, "", "confirmed remote yuno service"),
1795
- j(E.DTP_STRING, "url", T.SDF_RD, "", "Url to connect"),
1796
- j(E.DTP_STRING, "jwt", T.SDF_PERSIST, "", "JWT"),
1797
- j(E.DTP_STRING, "cert_pem", T.SDF_PERSIST, "", "SSL server certification, PEM str format"),
1798
- j(E.DTP_JSON, "extra_info", T.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
1799
- j(E.DTP_INTEGER, "timeout_retry", T.SDF_RD, "5000", "timeout waiting idAck"),
1800
- j(E.DTP_INTEGER, "timeout_idack", T.SDF_RD, "5000", "timeout waiting idAck"),
1790
+ j(E.DTP_STRING, "wanted_yuno_role", y.SDF_RD, "", "wanted yuno role"),
1791
+ j(E.DTP_STRING, "wanted_yuno_name", y.SDF_RD, "", "wanted yuno name"),
1792
+ j(E.DTP_STRING, "wanted_yuno_service", y.SDF_RD, "", "wanted yuno service"),
1793
+ j(E.DTP_STRING, "remote_yuno_role", y.SDF_RD, "", "confirmed remote yuno role"),
1794
+ j(E.DTP_STRING, "remote_yuno_name", y.SDF_RD, "", "confirmed remote yuno name"),
1795
+ j(E.DTP_STRING, "remote_yuno_service", y.SDF_RD, "", "confirmed remote yuno service"),
1796
+ j(E.DTP_STRING, "url", y.SDF_RD, "", "Url to connect"),
1797
+ j(E.DTP_STRING, "jwt", y.SDF_PERSIST, "", "JWT"),
1798
+ j(E.DTP_STRING, "cert_pem", y.SDF_PERSIST, "", "SSL server certification, PEM str format"),
1799
+ j(E.DTP_JSON, "extra_info", y.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
1800
+ j(E.DTP_INTEGER, "timeout_retry", y.SDF_RD, "5000", "timeout waiting idAck"),
1801
+ j(E.DTP_INTEGER, "timeout_idack", y.SDF_RD, "5000", "timeout waiting idAck"),
1801
1802
  j(E.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
1802
1803
  v()
1803
1804
  ], dr = {
@@ -1828,7 +1829,7 @@ var gobjJs = function(e) {
1828
1829
  data: n.data
1829
1830
  }, e);
1830
1831
  }, n.onclose = (n) => {
1831
- Ae(e) || (Je(ye(), "browser_beforeunload") ? kt("Close websocket by unload page") : lt(e, "EV_ON_CLOSE", {
1832
+ Ae(e) || (Je(Te(), "browser_beforeunload") ? kt("Close websocket by unload page") : lt(e, "EV_ON_CLOSE", {
1832
1833
  url: t,
1833
1834
  e: n
1834
1835
  }, e));
@@ -1858,11 +1859,11 @@ var gobjJs = function(e) {
1858
1859
  this.event = e, this.kw = t || {};
1859
1860
  }
1860
1861
  };
1861
- function Tr(e, t, n, r) {
1862
+ function yr(e, t, n, r) {
1862
1863
  return function(e, t) {
1863
1864
  let n = e.priv, r = JSON.stringify(t);
1864
- if (Je(ye(), "trace_inter_event")) {
1865
- let n = Qe(e, "url"), i = Oe(ye()) + " ==> " + n, o = xe(ye(), "trace_ievent_callback");
1865
+ if (Je(Te(), "trace_inter_event")) {
1866
+ let n = Qe(e, "url"), i = Oe(Te()) + " ==> " + n, o = xe(Te(), "trace_ievent_callback");
1866
1867
  o ? o(i, t, 1, r.length) : hr(0, i, t);
1867
1868
  }
1868
1869
  if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return kt(`${we(e)}: send_iev(): websocket not open, message lost`), -1;
@@ -1876,7 +1877,7 @@ var gobjJs = function(e) {
1876
1877
  return rn(e) ? (Rt("iev_create() event NULL"), null) : new Er(e, t);
1877
1878
  }(t, n));
1878
1879
  }
1879
- function yr(e, t, n) {
1880
+ function Tr(e, t, n) {
1880
1881
  return rn(n) && (n = Qe(e, "wanted_yuno_service")), {
1881
1882
  dst_yuno: Qe(e, "wanted_yuno_name"),
1882
1883
  dst_role: Qe(e, "wanted_yuno_role"),
@@ -1888,7 +1889,7 @@ var gobjJs = function(e) {
1888
1889
  };
1889
1890
  }
1890
1891
  function vr(e) {
1891
- let t = e.priv, n = Te(ye()), r = Qe(ye(), "yuno_version"), i = Qe(ye(), "yuno_release"), o = Qe(ye(), "yuno_tag"), s = {
1892
+ let t = e.priv, n = ye(Te()), r = Qe(Te(), "yuno_version"), i = Qe(Te(), "yuno_release"), o = Qe(Te(), "yuno_tag"), s = {
1892
1893
  yuno_role: je(),
1893
1894
  yuno_id: Se(),
1894
1895
  yuno_name: ve(),
@@ -1900,20 +1901,20 @@ var gobjJs = function(e) {
1900
1901
  pid: 0,
1901
1902
  watcher_pid: 0,
1902
1903
  jwt: Qe(e, "jwt"),
1903
- username: Qe(ye(), "__username__"),
1904
+ username: Qe(Te(), "__username__"),
1904
1905
  launch_id: 0,
1905
- yuno_startdate: Qe(ye(), "start_date"),
1906
+ yuno_startdate: Qe(Te(), "start_date"),
1906
1907
  id: xn(),
1907
1908
  user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
1908
1909
  language: "undefined" != typeof window ? window.navigator.language : "",
1909
- required_services: xe(ye(), "required_services")
1910
+ required_services: xe(Te(), "required_services")
1910
1911
  };
1911
- return Ln(e, s, fr, yr(e, Oe(Re(e)), null)), Un(e, s, "__identity__"), ir(t.gobj_timer, ze(e, "timeout_idack")), Tr(e, "EV_IDENTITY_CARD", s);
1912
+ return Ln(e, s, fr, Tr(e, Oe(Re(e)), null)), Un(e, s, "__identity__"), ir(t.gobj_timer, ze(e, "timeout_idack")), yr(e, "EV_IDENTITY_CARD", s);
1912
1913
  }
1913
1914
  function jr(e, t) {
1914
1915
  if (rn(t.event)) return -1;
1915
1916
  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), Ln(e, n, fr, yr(e, Oe(s), l)), Un(e, n, "__subscribing__"), Tr(e, t.event, n);
1917
+ return i && (n.__config__ = i), r && (n.__global__ = r), o && (n.__filter__ = o), Ln(e, n, fr, Tr(e, Oe(s), l)), Un(e, n, "__subscribing__"), yr(e, t.event, n);
1917
1918
  }
1918
1919
  function Sr(e, t, n, r) {
1919
1920
  let i = e.priv;
@@ -1997,8 +1998,8 @@ var gobjJs = function(e) {
1997
1998
  kw: i || {}
1998
1999
  } : (Rt("parsing inter_event: kw not a json object"), null) : (Rt("parsing inter_kw: no kw"), null);
1999
2000
  }(0, n.data);
2000
- if (Je(ye(), "trace_inter_event")) {
2001
- let e = Oe(ye()) + " <== " + i, t = n.data.length, r = xe(ye(), "trace_ievent_callback");
2001
+ if (Je(Te(), "trace_inter_event")) {
2002
+ let e = Oe(Te()) + " <== " + i, t = n.data.length, r = xe(Te(), "trace_ievent_callback");
2002
2003
  r ? r(e, o, 2, t) : hr(0, e, o);
2003
2004
  }
2004
2005
  let l = o.event, s = o.kw;
@@ -2062,29 +2063,29 @@ var gobjJs = function(e) {
2062
2063
  mt_stats: function(e, t, n, r) {
2063
2064
  if ("ST_SESSION" !== nt(e)) return Rt("Not in session"), null;
2064
2065
  n || (n = {});
2065
- let i = yr(e, Oe(r), bn(e, n, "service", null, 0)), o = hn(e, n, "__md_stats__", null, ht.KW_EXTRACT);
2066
+ let i = Tr(e, Oe(r), bn(e, n, "service", null, 0)), o = hn(e, n, "__md_stats__", null, ht.KW_EXTRACT);
2066
2067
  return o || (o = {}), Ln(e, n, "stats_stack", {
2067
2068
  stats: t,
2068
2069
  kw: o
2069
- }), Ln(e, n, fr, i), n.__stats__ = t, Un(e, n, "__stats__"), Tr(e, "EV_MT_STATS", n, r), null;
2070
+ }), Ln(e, n, fr, i), n.__stats__ = t, Un(e, n, "__stats__"), yr(e, "EV_MT_STATS", n, r), null;
2070
2071
  },
2071
2072
  mt_command_parser: function(e, t, n, r) {
2072
2073
  if ("ST_SESSION" !== nt(e)) return Rt("Not in session"), null;
2073
2074
  n || (n = {});
2074
- let i = yr(e, Oe(r), bn(e, n, "service", "", 0)), o = hn(e, n, "__md_command__", null, ht.KW_EXTRACT);
2075
+ let i = Tr(e, Oe(r), bn(e, n, "service", "", 0)), o = hn(e, n, "__md_command__", null, ht.KW_EXTRACT);
2075
2076
  return o || (o = {}), Ln(e, n, "command_stack", {
2076
2077
  command: t,
2077
2078
  kw: o
2078
- }), Ln(e, n, fr, i), n.__command__ = t, Un(e, n, "__command__"), Tr(e, "EV_MT_COMMAND", n, r), null;
2079
+ }), Ln(e, n, fr, i), n.__command__ = t, Un(e, n, "__command__"), yr(e, "EV_MT_COMMAND", n, r), null;
2079
2080
  },
2080
2081
  mt_inject_event: function(e, t, n, r) {
2081
2082
  if ("ST_SESSION" !== nt(e)) return window.console.error("Not in session"), -1;
2082
2083
  if (n || (n = {}), Pn(e, n, fr));
2083
2084
  else {
2084
- let i = yr(e, Oe(r), bn(e, n, "__service__", 0, 0));
2085
+ let i = Tr(e, Oe(r), bn(e, n, "__service__", 0, 0));
2085
2086
  Vt(n, "__service__"), Ln(e, n, "__message__", t), Ln(e, n, fr, i);
2086
2087
  }
2087
- return Un(e, n, "__message__"), Tr(e, t, n, r);
2088
+ return Un(e, n, "__message__"), yr(e, t, n, r);
2088
2089
  },
2089
2090
  mt_subscription_added: function(e, t) {
2090
2091
  let n = e.priv;
@@ -2096,10 +2097,10 @@ var gobjJs = function(e) {
2096
2097
  if (n.inside_on_open) return 0;
2097
2098
  if (rn(t.event)) return 0;
2098
2099
  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), Ln(e, r, fr, yr(e, Oe(_), s)), Un(e, r, "__unsubscribing__"), Tr(e, t.event, r, e);
2100
+ return o && (r.__config__ = o), i && (r.__global__ = i), l && (r.__filter__ = l), Ln(e, r, fr, Tr(e, Oe(_), s)), Un(e, r, "__unsubscribing__"), yr(e, t.event, r, e);
2100
2101
  }
2101
2102
  };
2102
- return e.GObj = O, e.SDATA = j, e.SDATAAUTHZ = (e, t, n, r, i, o) => new y(e, t, n, null, o, r, null, 0, null, i, null), e.SDATACM = (e, t, n, r, i, o) => new y(e, t, 0, null, o, n, null, 0, i, r, null), e.SDATACM2 = (e, t, n, r, i, o, l) => new y(e, t, n, null, l, r, null, 0, o, i, null), e.SDATADF = (e, t, n, r, i, o) => new y(e, t, n, null, o, null, r, i), e.SDATAPM = (e, t, n, r, i) => new y(e, t, n, r, i), e.SDATAPM0 = (e, t, n, r, i) => new y(e, t, n, null, i, null, null, 0, null, null, r), e.SDATA_END = v, e.SDataDesc = y, e.YUNETA_VERSION = l, Object.defineProperty(e, "__yuno__", {
2103
+ return e.GObj = O, e.SDATA = j, 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
2104
  enumerable: !0,
2104
2105
  get: function() {
2105
2106
  return p;
@@ -2134,22 +2135,23 @@ var gobjJs = function(e) {
2134
2135
  }, e.create_template_record = function(e, t) {
2135
2136
  let n = {};
2136
2137
  return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
2137
- n[e] = hn(null, t, e, hn(r, "default"));
2138
+ let i;
2139
+ Qt(r) && (i = r.default), n[e] = hn(null, t, e, i);
2138
2140
  }), n;
2139
2141
  }, e.current_timestamp = Kn, e.data_type_t = E, e.db_list_persistent_attrs = function(e, t) {
2140
2142
  let n = On(Jn(e), null, !1), r = {};
2141
2143
  return n && Qt(n) && (r = jn(e, n, t, !1)), r;
2142
2144
  }, e.db_load_persistent_attrs = function(e, t) {
2143
- let n = Be(e, T.SDF_PERSIST), r = On(Jn(e), null, !1);
2145
+ let n = Be(e, y.SDF_PERSIST), r = On(Jn(e), null, !1);
2144
2146
  if (r && Qt(r)) {
2145
2147
  let i = jn(e, r, t, !1);
2146
- i = jn(e, i, n, !1), He(e, i, T.SDF_PERSIST);
2148
+ i = jn(e, i, n, !1), He(e, i, y.SDF_PERSIST);
2147
2149
  }
2148
2150
  }, e.db_remove_persistent_attrs = function(e, t) {
2149
2151
  let n = Sn(e, On(Jn(e), null, !1), t, !1);
2150
2152
  0 === Bt(n) ? wn(Jn(e)) : Nn(Jn(e), n);
2151
2153
  }, e.db_save_persistent_attrs = function(e, t) {
2152
- let n = jn(e, Be(e, T.SDF_PERSIST), t, !1), r = On(Jn(e), null, !1);
2154
+ let n = jn(e, Be(e, y.SDF_PERSIST), t, !1), r = On(Jn(e), null, !1);
2153
2155
  r && Qt(r) && Ft(n, r), Nn(Jn(e), n);
2154
2156
  }, e.debounce = function(e, t = 0, n = !1) {
2155
2157
  let r = null, i = null, o = null;
@@ -2216,7 +2218,7 @@ var gobjJs = function(e) {
2216
2218
  if (rn(t)) return null;
2217
2219
  const n = t.toLowerCase();
2218
2220
  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 = Ye, e.gobj_has_event = it, e.gobj_has_output_event = ot, e.gobj_hsdata = G, e.gobj_is_destroying = Ae, e.gobj_is_playing = Te, e.gobj_is_pure_child = $e, e.gobj_is_running = me, e.gobj_is_service = Ee, e.gobj_is_volatil = ke, e.gobj_list_persistent_attrs = function(e, t) {
2221
+ }, e.gobj_find_service = ee, e.gobj_find_subscribings = pt, e.gobj_find_subscriptions = bt, e.gobj_flag_t = w, e.gobj_full_name = De, e.gobj_gclass_name = Ne, e.gobj_has_attr = Ye, e.gobj_has_event = it, e.gobj_has_output_event = ot, e.gobj_hsdata = G, e.gobj_is_destroying = Ae, e.gobj_is_playing = ye, e.gobj_is_pure_child = $e, e.gobj_is_running = me, e.gobj_is_service = Ee, e.gobj_is_volatil = ke, e.gobj_list_persistent_attrs = function(e, t) {
2220
2222
  return u ? u(e, t) : null;
2221
2223
  }, e.gobj_list_subscriptions = function(e) {
2222
2224
  let t = bt(e, null, null, null);
@@ -2275,7 +2277,7 @@ var gobjJs = function(e) {
2275
2277
  }
2276
2278
  }
2277
2279
  return 0;
2278
- }(e, T.SDF_VOLATIL, 0);
2280
+ }(e, y.SDF_VOLATIL, 0);
2279
2281
  }, e.gobj_save_persistent_attrs = function(e, t) {
2280
2282
  return Ee(e) ? _ ? _(e, t) : -1 : (Rt(`${we(e)}: Only gobj services can load/save writable-persistent`), -1);
2281
2283
  }, e.gobj_search_path = Ke, e.gobj_send_event = lt, e.gobj_services = function() {
@@ -2342,7 +2344,7 @@ var gobjJs = function(e) {
2342
2344
  break;
2343
2345
  }
2344
2346
  return Rt(n("gobj_write_attr(%s): attr not found '%s'", we(e), o)), -1;
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 = ye, e.gobj_yuno_id = Se, e.gobj_yuno_name = ve, e.gobj_yuno_role = je, e.id_index_in_obj_list = kn, e.index_in_list = Yn, e.is_array = qt, e.is_boolean = Zt, e.is_date = function(e) {
2347
+ }, e.gobj_write_attrs = He, e.gobj_write_bool_attr = Xe, e.gobj_write_integer_attr = Ze, e.gobj_write_str_attr = et, e.gobj_yuno = Te, e.gobj_yuno_id = Se, e.gobj_yuno_name = ve, e.gobj_yuno_role = je, e.id_index_in_obj_list = kn, e.index_in_list = Yn, e.is_array = qt, e.is_boolean = Zt, e.is_date = function(e) {
2346
2348
  return e instanceof Date && !isNaN(e);
2347
2349
  }, e.is_function = tn, e.is_gobj = nn, e.is_metadata_key = function(e) {
2348
2350
  if (!Ht(e)) return !1;
@@ -2471,7 +2473,7 @@ var gobjJs = function(e) {
2471
2473
  r(t, n) && i.push(Lt(t));
2472
2474
  }
2473
2475
  return i;
2474
- }, e.kw_set_dict_value = En, e.kw_set_local_storage_value = Nn, e.kw_set_subdict_value = Tn, e.kwid_collect = Rn, e.kwid_find_one_record = function(e, t, n, r, i) {
2476
+ }, e.kw_set_dict_value = En, e.kw_set_local_storage_value = Nn, e.kw_set_subdict_value = yn, e.kwid_collect = Rn, e.kwid_find_one_record = function(e, t, n, r, i) {
2475
2477
  e && !nn(e) && Rt("GObj bad instanceof");
2476
2478
  let o = Rn(e, t, n, r, i);
2477
2479
  return o.length > 0 ? o[0] : null;
@@ -2492,9 +2494,9 @@ var gobjJs = function(e) {
2492
2494
  e && !nn(e) && Rt("GObj bad instanceof");
2493
2495
  let r = {};
2494
2496
  if (rn(n) || (t = cn(e, t, n)), Qt(t)) r = t;
2495
- else if (qt(t)) for (let e = 0; e < t.length; e++) {
2496
- let n = t[e], i = bn(n, "id", null, !1);
2497
- rn(i) || (r[i] = n);
2497
+ else if (qt(t)) for (let n = 0; n < t.length; n++) {
2498
+ let i = t[n], o = bn(e, i, "id", "", 0);
2499
+ rn(o) || (r[o] = i);
2498
2500
  }
2499
2501
  else Rt(`${we(e)} kwid_new_dict: data type unknown`);
2500
2502
  return r;
@@ -2687,7 +2689,7 @@ var gobjJs = function(e) {
2687
2689
  if (!e) return "";
2688
2690
  const t = String(e).trim();
2689
2691
  return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Wn(t);
2690
- }, e.sdata_flag_t = T, e.send_http_json_post = function(e, t, n) {
2692
+ }, e.sdata_flag_t = y, e.send_http_json_post = function(e, t, n) {
2691
2693
  let r = new XMLHttpRequest();
2692
2694
  r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
2693
2695
  4 === r.readyState && n(r.status, r.responseText);
@@ -2716,7 +2718,8 @@ var gobjJs = function(e) {
2716
2718
  is_writable: !1,
2717
2719
  is_hidden: !1,
2718
2720
  default_value: void 0,
2719
- placeholder: void 0
2721
+ placeholder: void 0,
2722
+ fkey: null
2720
2723
  };
2721
2724
  if (Ht(t)) {
2722
2725
  let e = t.split(".");