@yuneta/gobj-js 7.25.5 → 7.25.7
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/README.md +12 -1
- package/dist/gobj-js.cjs.js +38 -17
- package/dist/gobj-js.cjs.js.map +1 -1
- package/dist/gobj-js.cjs.min.js +81 -71
- package/dist/gobj-js.cjs.min.js.map +1 -1
- package/dist/gobj-js.es.js +38 -17
- package/dist/gobj-js.es.js.map +1 -1
- package/dist/gobj-js.es.min.js +159 -149
- package/dist/gobj-js.es.min.js.map +1 -1
- package/dist/gobj-js.iife.js +38 -17
- package/dist/gobj-js.iife.js.map +1 -1
- package/dist/gobj-js.iife.min.js +76 -66
- package/dist/gobj-js.iife.min.js.map +1 -1
- package/dist/gobj-js.umd.js +38 -17
- package/dist/gobj-js.umd.js.map +1 -1
- package/dist/gobj-js.umd.min.js +76 -66
- package/dist/gobj-js.umd.min.js.map +1 -1
- package/package.json +1 -1
package/dist/gobj-js.iife.js
CHANGED
|
@@ -3561,30 +3561,46 @@ var gobjJs = (function(exports) {
|
|
|
3561
3561
|
return false;
|
|
3562
3562
|
}
|
|
3563
3563
|
/************************************************************
|
|
3564
|
-
*
|
|
3564
|
+
* The value at `path` (keys joined by a backtick), as the C
|
|
3565
|
+
* kw_find_path() finds it: undefined when it is not there.
|
|
3566
|
+
* A kw that is not a dict or a list is LOGGED ("kw must be list
|
|
3567
|
+
* or dict") and answers undefined, as C answers NULL; so does a
|
|
3568
|
+
* segment in the middle of the path whose value is a scalar. A
|
|
3569
|
+
* middle segment that is absent or null answers undefined, logged
|
|
3570
|
+
* only when `verbose`. Before gobj-js 7.25.6 a bad kw answered 0,
|
|
3571
|
+
* which the typed readers took for a value found (kw_get_int() and
|
|
3572
|
+
* kw_get_real() answered 0 instead of the default, kw_get_str() and
|
|
3573
|
+
* kw_get_bool() logged a second line), the log named no path and
|
|
3574
|
+
* called gobj_short_name() on a null gobj ("gobj bad type"), and a
|
|
3575
|
+
* null middle segment threw a TypeError.
|
|
3565
3576
|
************************************************************/
|
|
3566
3577
|
function kw_find_path(gobj, kw, path, verbose) {
|
|
3567
3578
|
if (gobj && !is_gobj(gobj)) log_error(`GObj bad instanceof`);
|
|
3579
|
+
const prefix = gobj ? `${gobj_short_name(gobj)}: ` : "";
|
|
3568
3580
|
if (!(is_object(kw) || is_array(kw))) {
|
|
3569
|
-
log_error(`${
|
|
3570
|
-
return
|
|
3581
|
+
log_error(`${prefix}kw must be list or dict: '${String(path)}'`);
|
|
3582
|
+
return;
|
|
3571
3583
|
}
|
|
3572
3584
|
if (!is_string(path)) {
|
|
3573
|
-
log_error(`${
|
|
3574
|
-
return
|
|
3585
|
+
log_error(`${prefix}path must be a string: ${String(path)}`);
|
|
3586
|
+
return;
|
|
3575
3587
|
}
|
|
3576
3588
|
let ss = path.split("`");
|
|
3577
|
-
if (ss.length <= 1) return kw[path];
|
|
3578
3589
|
let len = ss.length;
|
|
3579
|
-
for (let i = 0; i < len; i++) {
|
|
3580
|
-
|
|
3581
|
-
kw
|
|
3582
|
-
|
|
3583
|
-
|
|
3590
|
+
for (let i = 0; i < len - 1; i++) {
|
|
3591
|
+
kw = kw[ss[i]];
|
|
3592
|
+
if (kw === void 0 || kw === null) {
|
|
3593
|
+
if (verbose) log_error(`${prefix}path not found: '${path}'`);
|
|
3594
|
+
return;
|
|
3595
|
+
}
|
|
3596
|
+
if (!(is_object(kw) || is_array(kw))) {
|
|
3597
|
+
log_error(`${prefix}kw must be list or dict: '${path}'`);
|
|
3584
3598
|
return;
|
|
3585
3599
|
}
|
|
3586
3600
|
}
|
|
3587
|
-
|
|
3601
|
+
let value = kw[ss[len - 1]];
|
|
3602
|
+
if (value === void 0 && verbose) log_error(`${prefix}path not found: '${path}'`);
|
|
3603
|
+
return value;
|
|
3588
3604
|
}
|
|
3589
3605
|
/************************************************************
|
|
3590
3606
|
*
|
|
@@ -3625,7 +3641,7 @@ var gobjJs = (function(exports) {
|
|
|
3625
3641
|
const extract = flag && flag & kw_flag_t.KW_EXTRACT;
|
|
3626
3642
|
const wild = flag && flag & kw_flag_t.KW_WILD_NUMBER;
|
|
3627
3643
|
if (b === void 0) {
|
|
3628
|
-
if (create) {
|
|
3644
|
+
if (create && kw) {
|
|
3629
3645
|
let v = Boolean(default_value);
|
|
3630
3646
|
kw_set_dict_value(gobj, kw, path, v);
|
|
3631
3647
|
return v;
|
|
@@ -3693,7 +3709,7 @@ var gobjJs = (function(exports) {
|
|
|
3693
3709
|
const extract = flag && flag & kw_flag_t.KW_EXTRACT;
|
|
3694
3710
|
const wild = flag && flag & kw_flag_t.KW_WILD_NUMBER;
|
|
3695
3711
|
if (v === void 0) {
|
|
3696
|
-
if (create) {
|
|
3712
|
+
if (create && kw) {
|
|
3697
3713
|
let v = parseInt(default_value);
|
|
3698
3714
|
kw_set_dict_value(gobj, kw, path, v);
|
|
3699
3715
|
return v;
|
|
@@ -3740,7 +3756,7 @@ var gobjJs = (function(exports) {
|
|
|
3740
3756
|
const extract = flag && flag & kw_flag_t.KW_EXTRACT;
|
|
3741
3757
|
const wild = flag && flag & kw_flag_t.KW_WILD_NUMBER;
|
|
3742
3758
|
if (v === void 0) {
|
|
3743
|
-
if (create) {
|
|
3759
|
+
if (create && kw) {
|
|
3744
3760
|
let v = Number(default_value);
|
|
3745
3761
|
kw_set_dict_value(gobj, kw, path, v);
|
|
3746
3762
|
return v;
|
|
@@ -3810,7 +3826,7 @@ var gobjJs = (function(exports) {
|
|
|
3810
3826
|
const create = flag && flag & kw_flag_t.KW_CREATE;
|
|
3811
3827
|
const extract = flag && flag & kw_flag_t.KW_EXTRACT;
|
|
3812
3828
|
if (v === void 0) {
|
|
3813
|
-
if (create) {
|
|
3829
|
+
if (create && kw) {
|
|
3814
3830
|
kw_set_dict_value(gobj, kw, path, is_string(default_value) ? default_value : null);
|
|
3815
3831
|
return default_value;
|
|
3816
3832
|
} else if (required && !kw_path_holds_key(kw, path)) {
|
|
@@ -3963,7 +3979,12 @@ var gobjJs = (function(exports) {
|
|
|
3963
3979
|
let key = ss[i];
|
|
3964
3980
|
if (i === len - 1) kw[key] = value;
|
|
3965
3981
|
else {
|
|
3966
|
-
|
|
3982
|
+
let seg = kw[key];
|
|
3983
|
+
if (seg === void 0) kw[key] = {};
|
|
3984
|
+
else if (!is_object(seg) && !is_array(seg)) {
|
|
3985
|
+
log_error(`${gobj ? gobj_short_name(gobj) + ": " : ""}kw_set_dict_value(): segment '${key}' is not a dict or a list: '${path}'`);
|
|
3986
|
+
return -1;
|
|
3987
|
+
}
|
|
3967
3988
|
kw = kw[key];
|
|
3968
3989
|
}
|
|
3969
3990
|
}
|