@yuneta/gobj-js 7.25.6 → 7.25.8

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.
@@ -2955,11 +2955,10 @@ var gobjJs = (function(exports) {
2955
2955
  let __global__ = kw_get_dict(publisher, subs, "__global__", null, 0);
2956
2956
  let __local__ = kw_get_dict(publisher, subs, "__local__", null, 0);
2957
2957
  let __filter__ = kw_get_dict_value(publisher, subs, "__filter__", null, 0);
2958
- let kw2publish = kw;
2959
2958
  let topublish = 1;
2960
- if (publisher.gclass.gmt.mt_publication_filter) topublish = publisher.gclass.gmt.mt_publication_filter(publisher, event, kw2publish, subscriber);
2959
+ if (publisher.gclass.gmt.mt_publication_filter) topublish = publisher.gclass.gmt.mt_publication_filter(publisher, event, kw, subscriber);
2961
2960
  else if (json_size(__filter__) > 0) {
2962
- topublish = kw_match_simple(kw2publish, __filter__) ? 1 : 0;
2961
+ topublish = kw_match_simple(kw, __filter__) ? 1 : 0;
2963
2962
  if (tracea) {
2964
2963
  trace_machine(sprintf("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", topublish ? "👍" : "👎", event ? event : "", gobj_short_name(subscriber), gobj_short_name(publisher)));
2965
2964
  trace_json(__filter__);
@@ -2973,9 +2972,11 @@ var gobjJs = (function(exports) {
2973
2972
  if (!gobj_has_event(subscriber, ev_.event_name, 0)) continue;
2974
2973
  }
2975
2974
  }
2976
- if (__local__) kw_pop(kw2publish, __local__);
2975
+ let kw2publish = kw;
2976
+ if (json_size(__local__) > 0 || json_size(__global__) > 0) kw2publish = Object.assign({}, kw);
2977
+ if (json_size(__local__) > 0) kw_pop(kw2publish, __local__);
2977
2978
  if (__config__) {}
2978
- if (__global__) json_object_update(kw2publish, __global__);
2979
+ if (json_size(__global__) > 0) json_object_update(kw2publish, json_deep_copy(__global__));
2979
2980
  if (tracea) {
2980
2981
  if (__trace_machine_format__ === 1) trace_machine(sprintf("🔝🔄 %s (%s) %s%s", event ? event : "", event ? event : "", !subscriber.running ? "!!" : "", gobj_short_name(subscriber)));
2981
2982
  else trace_machine(sprintf("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", !subscriber.running ? "!!" : "", gobj_short_name(subscriber), gobj_current_state(subscriber), event ? event : "", publisher && !publisher.running ? "!!" : "", gobj_short_name(publisher)));
@@ -3979,7 +3980,12 @@ var gobjJs = (function(exports) {
3979
3980
  let key = ss[i];
3980
3981
  if (i === len - 1) kw[key] = value;
3981
3982
  else {
3982
- if (kw[key] === void 0) kw[key] = {};
3983
+ let seg = kw[key];
3984
+ if (seg === void 0) kw[key] = {};
3985
+ else if (!is_object(seg) && !is_array(seg)) {
3986
+ log_error(`${gobj ? gobj_short_name(gobj) + ": " : ""}kw_set_dict_value(): segment '${key}' is not a dict or a list: '${path}'`);
3987
+ return -1;
3988
+ }
3983
3989
  kw = kw[key];
3984
3990
  }
3985
3991
  }
@@ -6703,7 +6709,8 @@ var gobjJs = (function(exports) {
6703
6709
  window.console.error(`Not in session`);
6704
6710
  return -1;
6705
6711
  }
6706
- if (!kw) kw = {};
6712
+ kw = Object.assign({}, is_object(kw) ? kw : {});
6713
+ if (is_object(kw["__md_iev__"])) kw["__md_iev__"] = json_deep_copy(kw["__md_iev__"]);
6707
6714
  if (msg_iev_get_stack(gobj, kw, IEVENT_STACK_ID)) {} else {
6708
6715
  let jn_ievent_id = build_cli_ievent_request(gobj, gobj_name(src), kw_get_str(gobj, kw, "__service__", 0, 0));
6709
6716
  json_object_del(kw, "__service__");