@yuneta/gobj-js 7.26.3 → 7.26.5
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 +28 -7
- package/dist/gobj-js.cjs.js.map +1 -1
- package/dist/gobj-js.cjs.min.js +330 -313
- package/dist/gobj-js.cjs.min.js.map +1 -1
- package/dist/gobj-js.es.js +28 -7
- package/dist/gobj-js.es.js.map +1 -1
- package/dist/gobj-js.es.min.js +363 -346
- package/dist/gobj-js.es.min.js.map +1 -1
- package/dist/gobj-js.iife.js +28 -7
- package/dist/gobj-js.iife.js.map +1 -1
- package/dist/gobj-js.iife.min.js +330 -313
- package/dist/gobj-js.iife.min.js.map +1 -1
- package/dist/gobj-js.umd.js +28 -7
- package/dist/gobj-js.umd.js.map +1 -1
- package/dist/gobj-js.umd.min.js +330 -313
- package/dist/gobj-js.umd.min.js.map +1 -1
- package/package.json +1 -1
package/dist/gobj-js.iife.js
CHANGED
|
@@ -4005,6 +4005,12 @@ var gobjJs = (function(exports) {
|
|
|
4005
4005
|
* called gobj_short_name() on a null gobj ("gobj bad type"), and a
|
|
4006
4006
|
* null middle segment threw a TypeError.
|
|
4007
4007
|
************************************************************/
|
|
4008
|
+
function list_segment_index(list, seg) {
|
|
4009
|
+
if (!/^[0-9]+$/.test(seg)) return -1;
|
|
4010
|
+
const idx = Number(seg);
|
|
4011
|
+
if (idx >= list.length) return -1;
|
|
4012
|
+
return idx;
|
|
4013
|
+
}
|
|
4008
4014
|
function kw_find_path(gobj, kw, path, verbose) {
|
|
4009
4015
|
if (gobj && !is_gobj(gobj)) log_error(`GObj bad instanceof`);
|
|
4010
4016
|
const prefix = gobj ? `${gobj_short_name(gobj)}: ` : "";
|
|
@@ -4020,11 +4026,12 @@ var gobjJs = (function(exports) {
|
|
|
4020
4026
|
let len = ss.length;
|
|
4021
4027
|
for (let i = 0; i < len; i++) {
|
|
4022
4028
|
if (is_array(kw)) {
|
|
4023
|
-
|
|
4029
|
+
const idx = list_segment_index(kw, ss[i]);
|
|
4030
|
+
if (idx < 0) {
|
|
4024
4031
|
if (verbose) log_error(`${prefix}path not found: '${path}'`);
|
|
4025
4032
|
return;
|
|
4026
4033
|
}
|
|
4027
|
-
ss[i] = String(
|
|
4034
|
+
ss[i] = String(idx);
|
|
4028
4035
|
}
|
|
4029
4036
|
if (is_prototype_segment(kw, ss[i])) {
|
|
4030
4037
|
if (verbose) log_error(`${prefix}path not found: '${path}'`);
|
|
@@ -4059,8 +4066,14 @@ var gobjJs = (function(exports) {
|
|
|
4059
4066
|
function kw_delete(gobj, kw, path) {
|
|
4060
4067
|
if (gobj && !is_gobj(gobj)) log_error(`GObj bad instanceof`);
|
|
4061
4068
|
let [path_, k] = strrchr_split(path, "`");
|
|
4062
|
-
if (!empty_string(k))
|
|
4063
|
-
|
|
4069
|
+
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);
|
|
4064
4077
|
return 0;
|
|
4065
4078
|
}
|
|
4066
4079
|
/************************************************************
|
|
@@ -4416,6 +4429,14 @@ var gobjJs = (function(exports) {
|
|
|
4416
4429
|
let len = ss.length;
|
|
4417
4430
|
for (let i = 0; i < len; i++) {
|
|
4418
4431
|
let key = ss[i];
|
|
4432
|
+
if (is_array(kw)) {
|
|
4433
|
+
const idx = list_segment_index(kw, key);
|
|
4434
|
+
if (idx < 0) {
|
|
4435
|
+
log_error(`${gobj ? gobj_short_name(gobj) + ": " : ""}kw_set_dict_value(): segment '${key}' is not an index of its list: '${path}'`);
|
|
4436
|
+
return -1;
|
|
4437
|
+
}
|
|
4438
|
+
key = String(idx);
|
|
4439
|
+
}
|
|
4419
4440
|
if (i === len - 1) set_own_key(kw, key, value);
|
|
4420
4441
|
else {
|
|
4421
4442
|
let seg = is_prototype_segment(kw, key) ? void 0 : kw[key];
|
|
@@ -6580,7 +6601,7 @@ var gobjJs = (function(exports) {
|
|
|
6580
6601
|
let default_value;
|
|
6581
6602
|
if (is_object(col)) default_value = col.default;
|
|
6582
6603
|
let value = kw_get_dict_value(null, kw, field, default_value);
|
|
6583
|
-
new_record
|
|
6604
|
+
json_object_set(new_record, field, value);
|
|
6584
6605
|
});
|
|
6585
6606
|
return new_record;
|
|
6586
6607
|
}
|
|
@@ -7302,13 +7323,13 @@ var gobjJs = (function(exports) {
|
|
|
7302
7323
|
websocket = new WebSocket(url);
|
|
7303
7324
|
} catch (e) {
|
|
7304
7325
|
log_error(`${gobj_short_name(gobj)}: Cannot open WebSocket to '${url}', Error: ${e.message}`);
|
|
7305
|
-
gobj_post_event(gobj, "EV_ON_CLOSE", {
|
|
7326
|
+
if (gobj_post_event(gobj, "EV_ON_CLOSE", {
|
|
7306
7327
|
url,
|
|
7307
7328
|
ws_seq,
|
|
7308
7329
|
code: 1006,
|
|
7309
7330
|
reason: e.message,
|
|
7310
7331
|
was_clean: false
|
|
7311
|
-
}, gobj);
|
|
7332
|
+
}, gobj) < 0) set_timeout(gobj.priv.gobj_timer, next_retry(gobj));
|
|
7312
7333
|
return null;
|
|
7313
7334
|
}
|
|
7314
7335
|
if (!websocket) {
|