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