@yuneta/gobj-js 7.26.4 → 7.26.6

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.
@@ -4065,15 +4065,22 @@ var gobjJs = (function(exports) {
4065
4065
  ************************************************************/
4066
4066
  function kw_delete(gobj, kw, path) {
4067
4067
  if (gobj && !is_gobj(gobj)) log_error(`GObj bad instanceof`);
4068
+ const prefix = gobj ? gobj_short_name(gobj) + ": " : "";
4068
4069
  let [path_, k] = strrchr_split(path, "`");
4070
+ let v = kw;
4069
4071
  if (!empty_string(k)) {
4070
- let v = kw_find_path(gobj, kw, path_, true);
4071
- if (is_array(v)) {
4072
- log_error(`${gobj ? gobj_short_name(gobj) + ": " : ""}kw_delete(): cannot delete an item of a list: '${path}'`);
4073
- return -1;
4074
- }
4075
- json_object_del(v, k);
4076
- } else json_object_del(kw, path);
4072
+ v = kw_find_path(gobj, kw, path_, true);
4073
+ if (v === void 0) return -1;
4074
+ } else k = path;
4075
+ if (is_array(v)) {
4076
+ log_error(`${prefix}kw_delete(): cannot delete an item of a list: '${path}'`);
4077
+ return -1;
4078
+ }
4079
+ if (!is_object(v) || !Object.prototype.hasOwnProperty.call(v, k)) {
4080
+ log_error(`${prefix}kw_delete(): path not found: '${path}'`);
4081
+ return -1;
4082
+ }
4083
+ delete v[k];
4077
4084
  return 0;
4078
4085
  }
4079
4086
  /************************************************************
@@ -6601,7 +6608,7 @@ var gobjJs = (function(exports) {
6601
6608
  let default_value;
6602
6609
  if (is_object(col)) default_value = col.default;
6603
6610
  let value = kw_get_dict_value(null, kw, field, default_value);
6604
- new_record[field] = value;
6611
+ json_object_set(new_record, field, value);
6605
6612
  });
6606
6613
  return new_record;
6607
6614
  }