@yuneta/gobj-js 7.25.1 → 7.25.2
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 +6 -0
- package/dist/gobj-js.cjs.js +56 -27
- package/dist/gobj-js.cjs.js.map +1 -1
- package/dist/gobj-js.cjs.min.js +140 -146
- package/dist/gobj-js.cjs.min.js.map +1 -1
- package/dist/gobj-js.es.js +56 -27
- package/dist/gobj-js.es.js.map +1 -1
- package/dist/gobj-js.es.min.js +276 -282
- package/dist/gobj-js.es.min.js.map +1 -1
- package/dist/gobj-js.iife.js +56 -27
- package/dist/gobj-js.iife.js.map +1 -1
- package/dist/gobj-js.iife.min.js +216 -222
- package/dist/gobj-js.iife.min.js.map +1 -1
- package/dist/gobj-js.umd.js +56 -27
- package/dist/gobj-js.umd.js.map +1 -1
- package/dist/gobj-js.umd.min.js +313 -319
- package/dist/gobj-js.umd.min.js.map +1 -1
- package/package.json +1 -1
package/dist/gobj-js.iife.js
CHANGED
|
@@ -3216,8 +3216,8 @@ var gobjJs = (function(exports) {
|
|
|
3216
3216
|
}
|
|
3217
3217
|
function trace_json(jn, msg) {
|
|
3218
3218
|
if (console_wants("json", msg)) {
|
|
3219
|
-
if (msg)
|
|
3220
|
-
|
|
3219
|
+
if (msg) _console.warn("=====> " + msg);
|
|
3220
|
+
_console.dir(jn);
|
|
3221
3221
|
}
|
|
3222
3222
|
emit_log_callback("json", jn, current_timestamp());
|
|
3223
3223
|
}
|
|
@@ -3605,7 +3605,11 @@ var gobjJs = (function(exports) {
|
|
|
3605
3605
|
return 0;
|
|
3606
3606
|
}
|
|
3607
3607
|
/************************************************************
|
|
3608
|
-
*
|
|
3608
|
+
* As the C kw_get_bool(): a boolean found is the answer, and
|
|
3609
|
+
* anything else gives the default back -- unless KW_WILD_NUMBER
|
|
3610
|
+
* asks to read a number (0 is false), a string ("true"/"false"
|
|
3611
|
+
* in any case, else its integer) or null (false). Before gobj-js
|
|
3612
|
+
* 7.25.2 the value went through Boolean(), so "false" was TRUE.
|
|
3609
3613
|
************************************************************/
|
|
3610
3614
|
function kw_get_bool(gobj, kw, path, default_value, flag) {
|
|
3611
3615
|
if (gobj && !is_gobj(gobj)) log_error(`GObj bad instanceof`);
|
|
@@ -3613,6 +3617,7 @@ var gobjJs = (function(exports) {
|
|
|
3613
3617
|
const required = flag && flag & kw_flag_t.KW_REQUIRED;
|
|
3614
3618
|
const create = flag && flag & kw_flag_t.KW_CREATE;
|
|
3615
3619
|
const extract = flag && flag & kw_flag_t.KW_EXTRACT;
|
|
3620
|
+
const wild = flag && flag & kw_flag_t.KW_WILD_NUMBER;
|
|
3616
3621
|
if (b === void 0) {
|
|
3617
3622
|
if (create) {
|
|
3618
3623
|
let v = Boolean(default_value);
|
|
@@ -3624,8 +3629,23 @@ var gobjJs = (function(exports) {
|
|
|
3624
3629
|
}
|
|
3625
3630
|
return Boolean(default_value);
|
|
3626
3631
|
}
|
|
3632
|
+
let value;
|
|
3633
|
+
if (is_boolean(b)) value = b;
|
|
3634
|
+
else if (wild && is_number(b)) value = b !== 0;
|
|
3635
|
+
else if (wild && is_string(b)) {
|
|
3636
|
+
if (b.toLowerCase() === "true") value = true;
|
|
3637
|
+
else if (b.toLowerCase() === "false") value = false;
|
|
3638
|
+
else value = (parseInt(b) || 0) !== 0;
|
|
3639
|
+
} else if (wild && b === null) value = false;
|
|
3640
|
+
else {
|
|
3641
|
+
if (required) {
|
|
3642
|
+
log_error(`${gobj_short_name(gobj)}: path value MUST BE a boolean: ${path}`);
|
|
3643
|
+
trace_msg(kw);
|
|
3644
|
+
}
|
|
3645
|
+
return Boolean(default_value);
|
|
3646
|
+
}
|
|
3627
3647
|
if (extract) kw_delete(gobj, kw, path);
|
|
3628
|
-
return
|
|
3648
|
+
return value;
|
|
3629
3649
|
}
|
|
3630
3650
|
/************************************************************
|
|
3631
3651
|
*
|
|
@@ -3745,7 +3765,11 @@ var gobjJs = (function(exports) {
|
|
|
3745
3765
|
return v;
|
|
3746
3766
|
}
|
|
3747
3767
|
/************************************************************
|
|
3748
|
-
*
|
|
3768
|
+
* As the C kw_get_dict(): a dict found is the answer, and
|
|
3769
|
+
* anything else gives the default back AS GIVEN (null stays
|
|
3770
|
+
* null). KW_CREATE stores a dict default, never a null one.
|
|
3771
|
+
* Before gobj-js 7.25.2 the answer went through Object(), so a
|
|
3772
|
+
* null default came back as {} and a 0 as a Number object.
|
|
3749
3773
|
************************************************************/
|
|
3750
3774
|
function kw_get_dict(gobj, kw, path, default_value, flag) {
|
|
3751
3775
|
if (gobj && !is_gobj(gobj)) log_error(`GObj bad instanceof`);
|
|
@@ -3754,25 +3778,25 @@ var gobjJs = (function(exports) {
|
|
|
3754
3778
|
const create = flag && flag & kw_flag_t.KW_CREATE;
|
|
3755
3779
|
const extract = flag && flag & kw_flag_t.KW_EXTRACT;
|
|
3756
3780
|
if (v === void 0) {
|
|
3757
|
-
if (create) {
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3781
|
+
if (create && is_object(default_value) && kw) {
|
|
3782
|
+
kw_set_dict_value(gobj, kw, path, default_value);
|
|
3783
|
+
return default_value;
|
|
3784
|
+
}
|
|
3785
|
+
if (required) {
|
|
3762
3786
|
log_error(`path not found: '${path}'`);
|
|
3763
3787
|
trace_json(kw);
|
|
3764
3788
|
}
|
|
3765
|
-
return
|
|
3789
|
+
return default_value;
|
|
3766
3790
|
}
|
|
3767
|
-
if (extract) kw_delete(gobj, kw, path);
|
|
3768
3791
|
if (!is_object(v)) {
|
|
3769
3792
|
if (required) {
|
|
3770
|
-
log_error(
|
|
3793
|
+
log_error(`${gobj_short_name(gobj)}: path value MUST BE a dict: ${path}`);
|
|
3771
3794
|
trace_msg(kw);
|
|
3772
3795
|
}
|
|
3773
|
-
return
|
|
3796
|
+
return default_value;
|
|
3774
3797
|
}
|
|
3775
|
-
|
|
3798
|
+
if (extract) kw_delete(gobj, kw, path);
|
|
3799
|
+
return v;
|
|
3776
3800
|
}
|
|
3777
3801
|
/************************************************************
|
|
3778
3802
|
*
|
|
@@ -3798,7 +3822,12 @@ var gobjJs = (function(exports) {
|
|
|
3798
3822
|
return v;
|
|
3799
3823
|
}
|
|
3800
3824
|
/************************************************************
|
|
3801
|
-
*
|
|
3825
|
+
* As the C kw_get_list(): a list found is the answer, and
|
|
3826
|
+
* anything else gives the default back AS GIVEN. KW_CREATE
|
|
3827
|
+
* stores a list default, never a null one. Before gobj-js
|
|
3828
|
+
* 7.25.2 the answer went through Array(), which WRAPS its
|
|
3829
|
+
* argument: a list found came back as [list], a default of []
|
|
3830
|
+
* as [[]] and a null one as [null].
|
|
3802
3831
|
************************************************************/
|
|
3803
3832
|
function kw_get_list(gobj, kw, path, default_value, flag) {
|
|
3804
3833
|
if (gobj && !is_gobj(gobj)) log_error(`GObj bad instanceof`);
|
|
@@ -3807,25 +3836,25 @@ var gobjJs = (function(exports) {
|
|
|
3807
3836
|
const create = flag && flag & kw_flag_t.KW_CREATE;
|
|
3808
3837
|
const extract = flag && flag & kw_flag_t.KW_EXTRACT;
|
|
3809
3838
|
if (v === void 0) {
|
|
3810
|
-
if (create) {
|
|
3811
|
-
|
|
3812
|
-
|
|
3813
|
-
|
|
3814
|
-
|
|
3839
|
+
if (create && is_array(default_value) && kw) {
|
|
3840
|
+
kw_set_dict_value(gobj, kw, path, default_value);
|
|
3841
|
+
return default_value;
|
|
3842
|
+
}
|
|
3843
|
+
if (required) {
|
|
3815
3844
|
log_error(`path not found: '${path}'`);
|
|
3816
3845
|
trace_json(kw);
|
|
3817
3846
|
}
|
|
3818
|
-
return
|
|
3847
|
+
return default_value;
|
|
3819
3848
|
}
|
|
3820
|
-
if (extract) kw_delete(gobj, kw, path);
|
|
3821
3849
|
if (!is_array(v)) {
|
|
3822
3850
|
if (required) {
|
|
3823
|
-
log_error(
|
|
3851
|
+
log_error(`${gobj_short_name(gobj)}: path value MUST BE an array: ${path}`);
|
|
3824
3852
|
trace_msg(kw);
|
|
3825
3853
|
}
|
|
3826
|
-
return
|
|
3854
|
+
return default_value;
|
|
3827
3855
|
}
|
|
3828
|
-
|
|
3856
|
+
if (extract) kw_delete(gobj, kw, path);
|
|
3857
|
+
return v;
|
|
3829
3858
|
}
|
|
3830
3859
|
/************************************************************
|
|
3831
3860
|
*
|
|
@@ -3861,7 +3890,7 @@ var gobjJs = (function(exports) {
|
|
|
3861
3890
|
log_error("kw is not an object");
|
|
3862
3891
|
return -1;
|
|
3863
3892
|
}
|
|
3864
|
-
let subdict = kw_get_dict(gobj, kw, path, {},
|
|
3893
|
+
let subdict = kw_get_dict(gobj, kw, path, {}, kw_flag_t.KW_CREATE);
|
|
3865
3894
|
if (!is_object(subdict)) {
|
|
3866
3895
|
log_error("subdict is not an object");
|
|
3867
3896
|
return -1;
|