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