@yuneta/gobj-js 7.26.0 → 7.26.1

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.
@@ -506,10 +506,13 @@ function ae(e, t, n, r) {
506
506
  if (!Qn(o)) return bn(`attr must be an object: ${n.name}`), -1;
507
507
  break;
508
508
  case h.DTP_JSON:
509
- if (o = r, Zn(r)) try {
510
- o = JSON.parse(r);
511
- } catch (e) {
512
- o = r;
509
+ if (o = r, Zn(r)) {
510
+ const e = r.trim();
511
+ if (e.startsWith("{") || e.startsWith("[")) try {
512
+ o = JSON.parse(e);
513
+ } catch (e) {
514
+ o = r;
515
+ }
513
516
  }
514
517
  break;
515
518
  case h.DTP_POINTER: o = r;
@@ -1094,7 +1097,7 @@ function Pt(e, n, r, o) {
1094
1097
  i.action && (_ = i.action(e, n, r, o));
1095
1098
  } catch (t) {
1096
1099
  if (m--, !t || !t.__gobj_logged__) {
1097
- bn(`${Ze(e)}: action of ${n} in ${e.current_state.state_name} THREW: ${t && t.stack ? t.stack : t}`);
1100
+ bn(`${Ze(e)}: action of ${n} in ${s.state_name} THREW: ${t && t.stack ? t.stack : t}`);
1098
1101
  try {
1099
1102
  t.__gobj_logged__ = !0;
1100
1103
  } catch (e) {}
@@ -1562,7 +1565,7 @@ function An(e, t, n, r) {
1562
1565
  }
1563
1566
  r.left -= 1 + _.length;
1564
1567
  let a, u = e[_];
1565
- a = (On(_.slice(-128)) || o && "value" === _) && null != u && "" !== u ? "********" : An(u, t, n + 1, r), a !== u && (l = !0), s[_] = a;
1568
+ a = (On(_.slice(-128)) || o && "value" === _) && null != u && "" !== u ? "********" : An(u, t, n + 1, r), a !== u && (l = !0), gr(s, _, a);
1566
1569
  }
1567
1570
  i && (s["<more>"] = Rn);
1568
1571
  }
@@ -1604,30 +1607,30 @@ function Pn(e, t) {
1604
1607
  }
1605
1608
  function Un(e, t) {
1606
1609
  if (!t) return e;
1607
- for (let n of Object.keys(t)) e[n] = t[n];
1610
+ for (let n of Object.keys(t)) gr(e, n, t[n]);
1608
1611
  return e;
1609
1612
  }
1610
1613
  function Fn(e, t) {
1611
1614
  if (!t) return e;
1612
- for (let n in t) t.hasOwnProperty(n) && e.hasOwnProperty(n) && (e[n] = t[n]);
1615
+ for (let n in t) Object.prototype.hasOwnProperty.call(t, n) && Object.prototype.hasOwnProperty.call(e, n) && gr(e, n, t[n]);
1613
1616
  return e;
1614
1617
  }
1615
1618
  function Vn(e, t) {
1616
1619
  if (!t) return e;
1617
- for (let n in t) t.hasOwnProperty(n) && !e.hasOwnProperty(n) && (e[n] = t[n]);
1620
+ for (let n in t) Object.prototype.hasOwnProperty.call(t, n) && !Object.prototype.hasOwnProperty.call(e, n) && gr(e, n, t[n]);
1618
1621
  return e;
1619
1622
  }
1620
1623
  function Gn(e, t) {
1621
- if (e && e.hasOwnProperty(t)) return e[t];
1624
+ if (e && Object.prototype.hasOwnProperty.call(e, t)) return e[t];
1622
1625
  }
1623
1626
  function Mn(e, t) {
1624
- e && e.hasOwnProperty(t) && delete e[t];
1627
+ e && Object.prototype.hasOwnProperty.call(e, t) && delete e[t];
1625
1628
  }
1626
1629
  function Wn(e, t, n) {
1627
- e[t] = n;
1630
+ gr(e, t, n);
1628
1631
  }
1629
1632
  function Kn(e, t, n) {
1630
- e[t] = n;
1633
+ gr(e, t, n);
1631
1634
  }
1632
1635
  function Yn(e, t) {
1633
1636
  e.push(t);
@@ -1702,10 +1705,10 @@ function ur(e, t) {
1702
1705
  else for (const n of Object.keys(t)) delete e[n];
1703
1706
  }
1704
1707
  function cr(e, t) {
1705
- return !(!(t in e) || !e.hasOwnProperty(t));
1708
+ return !(!(t in e) || !Object.prototype.hasOwnProperty.call(e, t));
1706
1709
  }
1707
1710
  function fr(e, t) {
1708
- return ("__proto__" === t || "constructor" === t || "prototype" === t) && !Object.prototype.hasOwnProperty.call(e, t);
1711
+ return !Object.prototype.hasOwnProperty.call(e, t);
1709
1712
  }
1710
1713
  function gr(e, t, n) {
1711
1714
  "__proto__" === t ? Object.defineProperty(e, t, {
@@ -1891,13 +1894,13 @@ function wr(e, t, n, r) {
1891
1894
  let o = {};
1892
1895
  if (Zn(n) && !sr(n)) {
1893
1896
  let s = n;
1894
- t.hasOwnProperty(s) ? o[s] = t[s] : r && bn(`${Ze(e)}: key not found: ${s}`);
1895
- } else if (Qn(n) && qn(n) > 0) for (let s of Object.keys(n)) t.hasOwnProperty(s) ? o[s] = t[s] : r && bn(`${Ze(e)}: key not found: ${s}`);
1897
+ Object.prototype.hasOwnProperty.call(t, s) ? gr(o, s, t[s]) : r && bn(`${Ze(e)}: key not found: ${s}`);
1898
+ } else if (Qn(n) && qn(n) > 0) for (let s of Object.keys(n)) Object.prototype.hasOwnProperty.call(t, s) ? gr(o, s, t[s]) : r && bn(`${Ze(e)}: key not found: ${s}`);
1896
1899
  else {
1897
1900
  if (!(Xn(n) && Hn(n) > 0)) return t;
1898
1901
  for (let s = 0; s < n.length; s++) {
1899
1902
  let l = n[s];
1900
- t.hasOwnProperty(l) ? o[l] = t[l] : r && bn(`${Ze(e)}: key not found: ${l}`);
1903
+ Object.prototype.hasOwnProperty.call(t, l) ? gr(o, l, t[l]) : r && bn(`${Ze(e)}: key not found: ${l}`);
1901
1904
  }
1902
1905
  }
1903
1906
  return o;
@@ -1907,13 +1910,13 @@ function Nr(e, t, n, r) {
1907
1910
  if (!Qn(t)) return o;
1908
1911
  if (Un(o, t), Zn(n) && !sr(n)) {
1909
1912
  let s = n;
1910
- t.hasOwnProperty(s) ? Mn(o, s) : r && bn(`${Ze(e)}: key not found: ${s}`);
1911
- } else if (Qn(n) && qn(n) > 0) for (let s of Object.keys(n)) t.hasOwnProperty(s) ? Mn(o, s) : r && bn(`${Ze(e)}: key not found: ${s}`);
1913
+ Object.prototype.hasOwnProperty.call(t, s) ? Mn(o, s) : r && bn(`${Ze(e)}: key not found: ${s}`);
1914
+ } else if (Qn(n) && qn(n) > 0) for (let s of Object.keys(n)) Object.prototype.hasOwnProperty.call(t, s) ? Mn(o, s) : r && bn(`${Ze(e)}: key not found: ${s}`);
1912
1915
  else {
1913
1916
  if (!(Xn(n) && Hn(n) > 0)) return {};
1914
1917
  for (let s = 0; s < n.length; s++) {
1915
1918
  let l = n[s];
1916
- t.hasOwnProperty(l) ? Mn(o, l) : r && bn(`${Ze(e)}: key not found: ${l}`);
1919
+ Object.prototype.hasOwnProperty.call(t, l) ? Mn(o, l) : r && bn(`${Ze(e)}: key not found: ${l}`);
1917
1920
  }
1918
1921
  }
1919
1922
  return o;
@@ -2031,7 +2034,7 @@ function Vr(e, t) {
2031
2034
  function Gr(e, t, n) {
2032
2035
  void 0 !== n && Zn(n) || (n = "");
2033
2036
  for (let r of Object.keys(e)) {
2034
- if (!e.hasOwnProperty(r)) continue;
2037
+ if (!Object.prototype.hasOwnProperty.call(e, r)) continue;
2035
2038
  let o = (n.length ? "`" : "") + r;
2036
2039
  n += o, t.apply(this, [
2037
2040
  e,
@@ -2470,34 +2473,33 @@ var Ro = {
2470
2473
  function Do(e) {
2471
2474
  e.priv.websocket && bn("Websocket ALREADY setup");
2472
2475
  const t = vt(e, "url");
2473
- let n;
2474
2476
  hn(`====> Starting WebSocket to '${t}' (${Ze(e)})`);
2477
+ const n = ++e.priv.ws_seq;
2478
+ let r;
2475
2479
  try {
2476
- n = new WebSocket(t);
2480
+ r = new WebSocket(t);
2477
2481
  } catch (n) {
2478
2482
  return bn(`${Ze(e)}: Cannot open WebSocket to '${t}', Error: ${n.message}`), null;
2479
2483
  }
2480
- if (!n) return bn(`${Ze(e)}: Failed to initialize WebSocket.`), null;
2481
- const r = ++e.priv.ws_seq;
2482
- return n.onopen = () => {
2483
- r !== e.priv.ws_seq || ot(e) || Pt(e, "EV_ON_OPEN", {
2484
+ return r ? (r.onopen = () => {
2485
+ n !== e.priv.ws_seq || ot(e) || Pt(e, "EV_ON_OPEN", {
2484
2486
  url: t,
2485
- ws_seq: r
2487
+ ws_seq: n
2486
2488
  }, e);
2487
- }, n.onmessage = (n) => {
2488
- r !== e.priv.ws_seq || ot(e) || Pt(e, "EV_ON_MESSAGE", {
2489
+ }, r.onmessage = (r) => {
2490
+ n !== e.priv.ws_seq || ot(e) || Pt(e, "EV_ON_MESSAGE", {
2489
2491
  url: t,
2490
- data: n.data
2492
+ data: r.data
2491
2493
  }, e);
2492
- }, n.onclose = (n) => {
2493
- ot(e) || r === e.priv.ws_seq && (yt(Je(), "browser_beforeunload") ? mn("Close websocket by unload page") : Pt(e, "EV_ON_CLOSE", {
2494
+ }, r.onclose = (r) => {
2495
+ ot(e) || n === e.priv.ws_seq && (yt(Je(), "browser_beforeunload") ? mn("Close websocket by unload page") : Pt(e, "EV_ON_CLOSE", {
2494
2496
  url: t,
2495
- ws_seq: r,
2496
- code: n.code,
2497
- reason: n.reason,
2498
- was_clean: n.wasClean
2497
+ ws_seq: n,
2498
+ code: r.code,
2499
+ reason: r.reason,
2500
+ was_clean: r.wasClean
2499
2501
  }, e));
2500
- }, n;
2502
+ }, r) : (bn(`${Ze(e)}: Failed to initialize WebSocket.`), null);
2501
2503
  }
2502
2504
  function $o(e, t = 1e3, n = "") {
2503
2505
  let r = e.priv, o = r.websocket;
@@ -2901,11 +2903,11 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2901
2903
  if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat_apply: a flat json is an object of id -> value");
2902
2904
  if (null === t || "object" != typeof t) throw new Error("flat_apply: a diff is the object flat_diff() answers");
2903
2905
  for (const n of Object.keys(t.removed || {})) delete e[n];
2904
- for (const n of Object.keys(t.added || {})) e[n] = t.added[n];
2906
+ for (const n of Object.keys(t.added || {})) gr(e, n, t.added[n]);
2905
2907
  for (const n of Object.keys(t.changed || {})) {
2906
2908
  const r = t.changed[n];
2907
2909
  if (!r || !Object.prototype.hasOwnProperty.call(r, "to")) throw new Error(`flat_apply: changed '${n}' without a 'to'`);
2908
- e[n] = r.to;
2910
+ gr(e, n, r.to);
2909
2911
  }
2910
2912
  return e;
2911
2913
  }, exports.flat_diff = function(e, t) {
@@ -3175,7 +3177,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3175
3177
  return;
3176
3178
  }
3177
3179
  }
3178
- 0 !== o && (t[r] = e);
3180
+ 0 !== o && gr(t, r, e);
3179
3181
  };
3180
3182
  return null == e || n(e, "", 0), t;
3181
3183
  }, exports.json_array_append = Yn, exports.json_array_append_new = Bn, exports.json_array_extend = function(e, t) {
@@ -3257,7 +3259,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3257
3259
  if (e && !or(e) && bn("GObj bad instanceof"), !t) return [];
3258
3260
  let n = [];
3259
3261
  if (Zn(t)) n.push(t);
3260
- else if (Qn(t)) for (let e in t) t.hasOwnProperty(e) && n.push(e);
3262
+ else if (Qn(t)) for (let e in t) Object.prototype.hasOwnProperty.call(t, e) && n.push(e);
3261
3263
  else Xn(t) && t.forEach(function(t) {
3262
3264
  if (Zn(t)) sr(t) || n.push(t);
3263
3265
  else if (Qn(t)) {