@yuneta/gobj-js 7.7.2 → 7.7.3

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.
@@ -3622,7 +3622,7 @@ function kwid_new_dict(gobj, kw, path) {
3622
3622
  if (is_object(kw)) new_dict = kw;
3623
3623
  else if (is_array(kw)) for (let i = 0; i < kw.length; i++) {
3624
3624
  let kv = kw[i];
3625
- let id = kw_get_str(kv, "id", null, false);
3625
+ let id = kw_get_str(gobj, kv, "id", "", 0);
3626
3626
  if (!empty_string(id)) new_dict[id] = kv;
3627
3627
  }
3628
3628
  else log_error(`${gobj_short_name(gobj)} kwid_new_dict: data type unknown`);
@@ -4913,6 +4913,7 @@ function treedb_decoder_hook(col, hook) {
4913
4913
  * is_writable // field writable (no readonly)
4914
4914
  * default_value
4915
4915
  * placeholder
4916
+ * fkey // fkey mapping {topic_name: hook_name}, null if none
4916
4917
  * ]
4917
4918
  *
4918
4919
  * The template is recursive, in values you can set dictionaries, or arrays,
@@ -4982,7 +4983,8 @@ function treedb_get_field_desc(col) {
4982
4983
  is_hidden: false,
4983
4984
  default_value: col.default,
4984
4985
  placeholder: col.placeholder,
4985
- fillspace: col.fillspace || 4
4986
+ fillspace: col.fillspace || 4,
4987
+ fkey: col.fkey || null
4986
4988
  };
4987
4989
  if (!col.flag) return field_desc;
4988
4990
  for (let i = 0; i < col.flag.length; i++) {
@@ -5028,7 +5030,8 @@ function template_get_field_desc(key, value) {
5028
5030
  is_writable: false,
5029
5031
  is_hidden: false,
5030
5032
  default_value: void 0,
5031
- placeholder: void 0
5033
+ placeholder: void 0,
5034
+ fkey: null
5032
5035
  };
5033
5036
  if (is_string(value)) {
5034
5037
  let values = value.split(".");
@@ -5072,7 +5075,9 @@ function create_template_record(template, kw) {
5072
5075
  let new_record = {};
5073
5076
  if (!kw) kw = {};
5074
5077
  Object.entries(template).forEach(([field, col]) => {
5075
- new_record[field] = kw_get_dict_value(null, kw, field, kw_get_dict_value(col, "default"));
5078
+ let default_value;
5079
+ if (is_object(col)) default_value = col.default;
5080
+ new_record[field] = kw_get_dict_value(null, kw, field, default_value);
5076
5081
  });
5077
5082
  return new_record;
5078
5083
  }