@yuneta/gobj-js 7.6.6 → 7.7.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.
@@ -387,6 +387,13 @@ var gobjJs = (function(exports) {
387
387
  function tab() {
388
388
  return " ".repeat(Math.max(0, __inside__ * 2 - 1));
389
389
  }
390
+ var __trace_machine_format__ = 0;
391
+ function gobj_set_trace_machine_format(format) {
392
+ __trace_machine_format__ = Number(format) === 1 ? 1 : 0;
393
+ }
394
+ function gobj_trace_machine_format() {
395
+ return __trace_machine_format__;
396
+ }
390
397
  /************************************************************
391
398
  *
392
399
  ************************************************************/
@@ -2119,9 +2126,12 @@ var gobjJs = (function(exports) {
2119
2126
  return -1;
2120
2127
  }
2121
2128
  if (tracea) {
2122
- let action_name = "";
2123
- if (event_action.action) action_name = get_function_name(event_action.action);
2124
- trace_machine(sprintf("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", !dst.running ? "!!" : "", gobj_gclass_name(dst), gobj_name(dst), state.state_name, "", event ? event : "", "", action_name, src && !src.running ? "!!" : "", gobj_gclass_name(src), gobj_name(src)));
2129
+ if (__trace_machine_format__ === 1) trace_machine(sprintf("🔄 %s %s%s %s from %s%s", event ? event : "", !dst.running ? "!!" : "", gobj_short_name(dst), state.state_name, src && !src.running ? "!!" : "", gobj_short_name(src)));
2130
+ else {
2131
+ let action_name = "";
2132
+ if (event_action.action) action_name = get_function_name(event_action.action);
2133
+ trace_machine(sprintf("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", !dst.running ? "!!" : "", gobj_gclass_name(dst), gobj_name(dst), state.state_name, "", event ? event : "", "", action_name, src && !src.running ? "!!" : "", gobj_gclass_name(src), gobj_name(src)));
2134
+ }
2125
2135
  if (kw) {
2126
2136
  if (tracea > 1) {
2127
2137
  if (json_object_size(kw)) trace_json(kw);
@@ -2133,7 +2143,7 @@ var gobjJs = (function(exports) {
2133
2143
  try {
2134
2144
  if (event_action.action) ret = event_action.action(dst, event, kw, src);
2135
2145
  } finally {}
2136
- if (tracea && !(dst.obflag & obflag_t.obflag_destroyed)) trace_machine(sprintf("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", !dst.running ? "!!" : "", gobj_gclass_name(dst), gobj_name(dst), dst.current_state.state_name, event ? event : "", is_number(ret) ? ret : 0));
2146
+ if (tracea && __trace_machine_format__ !== 1 && !(dst.obflag & obflag_t.obflag_destroyed)) trace_machine(sprintf("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", !dst.running ? "!!" : "", gobj_gclass_name(dst), gobj_name(dst), dst.current_state.state_name, event ? event : "", is_number(ret) ? ret : 0));
2137
2147
  __inside__--;
2138
2148
  return ret;
2139
2149
  }
@@ -2617,6 +2627,15 @@ var gobjJs = (function(exports) {
2617
2627
  var f_warning = _console.warn;
2618
2628
  var f_info = _console.info;
2619
2629
  var f_debug = _console.debug;
2630
+ var __log_callback__ = null;
2631
+ function set_log_callback(fn) {
2632
+ __log_callback__ = typeof fn === "function" ? fn : null;
2633
+ }
2634
+ function emit_log_callback(level, msg, hora) {
2635
+ if (__log_callback__) try {
2636
+ __log_callback__(level, msg, hora);
2637
+ } catch (e) {}
2638
+ }
2620
2639
  function set_remote_log_functions(remote_log_fn) {
2621
2640
  if (remote_log_fn) {
2622
2641
  f_error = remote_log_fn;
@@ -2656,6 +2675,7 @@ var gobjJs = (function(exports) {
2656
2675
  window.console.error("%c" + hora + " ERROR: " + String(msg), "color:red");
2657
2676
  f_error(`${hora} ERROR: ${String(msg)}`);
2658
2677
  }
2678
+ emit_log_callback("error", msg, hora);
2659
2679
  }
2660
2680
  function log_warning(format) {
2661
2681
  let msg = format_log(format);
@@ -2665,25 +2685,30 @@ var gobjJs = (function(exports) {
2665
2685
  window.console.warn("%c" + hora + " WARNING: " + String(msg), "color:yellow");
2666
2686
  f_warning(`${hora} WARNING: ${String(msg)}`);
2667
2687
  }
2688
+ emit_log_callback("warning", msg, hora);
2668
2689
  }
2669
2690
  function log_info(format) {
2670
2691
  let msg = format_log(format);
2671
2692
  let hora = current_timestamp();
2672
2693
  if (f_info) f_info("%c" + hora + " INFO: " + String(msg), "color:cyan");
2694
+ emit_log_callback("info", msg, hora);
2673
2695
  }
2674
2696
  function log_debug(format) {
2675
2697
  let msg = format_log(format);
2676
2698
  let hora = current_timestamp();
2677
2699
  if (f_debug) f_debug("%c" + hora + " DEBUG: " + String(msg), "color:silver");
2700
+ emit_log_callback("debug", msg, hora);
2678
2701
  }
2679
2702
  function trace_msg(format) {
2680
2703
  let msg = format_log(format);
2681
2704
  let hora = current_timestamp();
2682
2705
  if (f_debug) f_debug("%c" + hora + " MSG: " + String(msg), "color:cyan");
2706
+ emit_log_callback("msg", msg, hora);
2683
2707
  }
2684
2708
  function trace_json(jn, msg) {
2685
2709
  if (msg) window.console.warn("=====> " + msg);
2686
2710
  window.console.dir(jn);
2711
+ emit_log_callback("json", jn, current_timestamp());
2687
2712
  }
2688
2713
  /************************************************************
2689
2714
  * Duplicate an object (new references)
@@ -5482,13 +5507,7 @@ var gobjJs = (function(exports) {
5482
5507
  let priv = gobj.priv;
5483
5508
  clear_timeout(priv.gobj_timer);
5484
5509
  gobj_stop(priv.gobj_timer);
5485
- if (priv.websocket) {
5486
- priv.websocket.onopen = null;
5487
- priv.websocket.onmessage = null;
5488
- priv.websocket.onerror = null;
5489
- priv.websocket.onclose = null;
5490
- close_websocket(gobj);
5491
- }
5510
+ if (priv.websocket) close_websocket(gobj);
5492
5511
  return 0;
5493
5512
  }
5494
5513
  /***************************************************************
@@ -5622,6 +5641,7 @@ var gobjJs = (function(exports) {
5622
5641
  }, gobj);
5623
5642
  };
5624
5643
  websocket.onclose = (e) => {
5644
+ if (gobj_is_destroying(gobj)) return;
5625
5645
  if (!gobj_read_bool_attr(gobj_yuno(), "browser_beforeunload")) gobj_send_event(gobj, "EV_ON_CLOSE", {
5626
5646
  url,
5627
5647
  e
@@ -6230,6 +6250,7 @@ var gobjJs = (function(exports) {
6230
6250
  exports.gobj_send_event = gobj_send_event;
6231
6251
  exports.gobj_services = gobj_services;
6232
6252
  exports.gobj_set_bottom_gobj = gobj_set_bottom_gobj;
6253
+ exports.gobj_set_trace_machine_format = gobj_set_trace_machine_format;
6233
6254
  exports.gobj_short_name = gobj_short_name;
6234
6255
  exports.gobj_start = gobj_start;
6235
6256
  exports.gobj_start_children = gobj_start_children;
@@ -6240,6 +6261,7 @@ var gobjJs = (function(exports) {
6240
6261
  exports.gobj_stop_children = gobj_stop_children;
6241
6262
  exports.gobj_stop_tree = gobj_stop_tree;
6242
6263
  exports.gobj_subscribe_event = gobj_subscribe_event;
6264
+ exports.gobj_trace_machine_format = gobj_trace_machine_format;
6243
6265
  exports.gobj_unsubscribe_event = gobj_unsubscribe_event;
6244
6266
  exports.gobj_unsubscribe_list = gobj_unsubscribe_list;
6245
6267
  exports.gobj_walk_gobj_children = gobj_walk_gobj_children;
@@ -6342,6 +6364,7 @@ var gobjJs = (function(exports) {
6342
6364
  exports.safeSrc = safeSrc;
6343
6365
  exports.sdata_flag_t = sdata_flag_t;
6344
6366
  exports.send_http_json_post = send_http_json_post;
6367
+ exports.set_log_callback = set_log_callback;
6345
6368
  exports.set_remote_log_functions = set_remote_log_functions;
6346
6369
  exports.set_timeout = set_timeout;
6347
6370
  exports.set_timeout_periodic = set_timeout_periodic;