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