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