@yuneta/gobj-js 7.26.10 → 7.26.11
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.
- package/dist/gobj-js.cjs.js +17 -9
- package/dist/gobj-js.cjs.js.map +1 -1
- package/dist/gobj-js.cjs.min.js +149 -148
- package/dist/gobj-js.cjs.min.js.map +1 -1
- package/dist/gobj-js.es.js +17 -9
- package/dist/gobj-js.es.js.map +1 -1
- package/dist/gobj-js.es.min.js +9 -8
- package/dist/gobj-js.es.min.js.map +1 -1
- package/dist/gobj-js.iife.js +17 -9
- package/dist/gobj-js.iife.js.map +1 -1
- package/dist/gobj-js.iife.min.js +151 -150
- package/dist/gobj-js.iife.min.js.map +1 -1
- package/dist/gobj-js.umd.js +17 -9
- package/dist/gobj-js.umd.js.map +1 -1
- package/dist/gobj-js.umd.min.js +9 -8
- package/dist/gobj-js.umd.min.js.map +1 -1
- package/package.json +1 -1
package/dist/gobj-js.es.js
CHANGED
|
@@ -5259,23 +5259,31 @@ function jdb_update(jdb, topic_name, path, kw) {
|
|
|
5259
5259
|
let v = topic;
|
|
5260
5260
|
while (id = ids.shift()) {
|
|
5261
5261
|
if (empty_string(id) || !v) break;
|
|
5262
|
-
if (is_object(v)) v = kw_get_dict_value(null, v, jdb.hook,
|
|
5262
|
+
if (is_object(v)) v = kw_get_dict_value(null, v, jdb.hook, null, 0);
|
|
5263
5263
|
v = _jdb_get(v, null, id, false);
|
|
5264
5264
|
}
|
|
5265
5265
|
if (!v || ids.length !== 0) {
|
|
5266
5266
|
log_error(`jdb_update: path not found in topic '${topic_name}': '${path}'`);
|
|
5267
5267
|
return null;
|
|
5268
5268
|
}
|
|
5269
|
-
|
|
5270
|
-
|
|
5271
|
-
|
|
5272
|
-
|
|
5273
|
-
|
|
5274
|
-
|
|
5275
|
-
|
|
5276
|
-
|
|
5269
|
+
let list;
|
|
5270
|
+
if (is_array(v)) list = v;
|
|
5271
|
+
else if (v["id"] === kw["id"]) {
|
|
5272
|
+
json_object_update(v, kw);
|
|
5273
|
+
return topic;
|
|
5274
|
+
} else {
|
|
5275
|
+
list = kw_get_dict_value(null, v, jdb.hook, null, 0);
|
|
5276
|
+
if (list === null || list === void 0) {
|
|
5277
|
+
list = [];
|
|
5278
|
+
json_object_set(v, jdb.hook, list);
|
|
5279
|
+
} else if (!is_array(list)) {
|
|
5280
|
+
log_error(`jdb_update: the hook '${jdb.hook}' of '${path}' is not a list in topic '${topic_name}'`);
|
|
5281
|
+
return null;
|
|
5277
5282
|
}
|
|
5278
5283
|
}
|
|
5284
|
+
let found = _jdb_get(list, jdb.hook, kw["id"], false);
|
|
5285
|
+
if (found) json_object_update(found, kw);
|
|
5286
|
+
else list.push(kw);
|
|
5279
5287
|
return topic;
|
|
5280
5288
|
}
|
|
5281
5289
|
/********************************************
|