@yuneta/gobj-js 7.16.0 → 7.16.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/dist/gobj-js.cjs.js +31 -6
- package/dist/gobj-js.cjs.js.map +1 -1
- package/dist/gobj-js.cjs.min.js +7 -6
- package/dist/gobj-js.cjs.min.js.map +1 -1
- package/dist/gobj-js.es.js +31 -7
- package/dist/gobj-js.es.js.map +1 -1
- package/dist/gobj-js.es.min.js +505 -503
- package/dist/gobj-js.es.min.js.map +1 -1
- package/dist/gobj-js.iife.js +31 -6
- package/dist/gobj-js.iife.js.map +1 -1
- package/dist/gobj-js.iife.min.js +7 -6
- package/dist/gobj-js.iife.min.js.map +1 -1
- package/dist/gobj-js.umd.js +31 -6
- package/dist/gobj-js.umd.js.map +1 -1
- package/dist/gobj-js.umd.min.js +7 -6
- package/dist/gobj-js.umd.min.js.map +1 -1
- package/package.json +2 -2
package/dist/gobj-js.umd.js
CHANGED
|
@@ -3272,7 +3272,9 @@
|
|
|
3272
3272
|
return 0;
|
|
3273
3273
|
}
|
|
3274
3274
|
/************************************************************
|
|
3275
|
-
*
|
|
3275
|
+
* How much content a json carries: elements of a container,
|
|
3276
|
+
* 1 for a non-empty string, 0 for everything else
|
|
3277
|
+
* (null/undefined, scalars). C twin: json_size() in helpers.h.
|
|
3276
3278
|
************************************************************/
|
|
3277
3279
|
function json_size(a) {
|
|
3278
3280
|
if (is_object(a)) return Object.keys(a).length;
|
|
@@ -3281,6 +3283,22 @@
|
|
|
3281
3283
|
else return 0;
|
|
3282
3284
|
}
|
|
3283
3285
|
/************************************************************
|
|
3286
|
+
* "There is nothing usable here": null/undefined, {}, [],
|
|
3287
|
+
* "" and any scalar. C twin: empty_json() in helpers.h,
|
|
3288
|
+
* where it is the guard to write instead of `if(!jn)` --
|
|
3289
|
+
* there an absent DTP_JSON is json_null(), a valid pointer.
|
|
3290
|
+
* Here `if(!x)` happens to work, and that difference is what
|
|
3291
|
+
* a port across the two runtimes gets wrong: write the same
|
|
3292
|
+
* question in both.
|
|
3293
|
+
*
|
|
3294
|
+
* The other question -- "absent or explicitly null", C's
|
|
3295
|
+
* json_absent() -- is is_null() here, since javascript has
|
|
3296
|
+
* no second null to tell apart.
|
|
3297
|
+
************************************************************/
|
|
3298
|
+
function empty_json(a) {
|
|
3299
|
+
return json_size(a) === 0;
|
|
3300
|
+
}
|
|
3301
|
+
/************************************************************
|
|
3284
3302
|
* Return if a value is an object (excluding arrays & null)
|
|
3285
3303
|
************************************************************/
|
|
3286
3304
|
function is_object(value) {
|
|
@@ -6726,14 +6744,20 @@
|
|
|
6726
6744
|
gobj_send_event(gobj, iev_event, iev_kw, gobj);
|
|
6727
6745
|
return 0;
|
|
6728
6746
|
}
|
|
6729
|
-
|
|
6730
|
-
|
|
6731
|
-
if (
|
|
6732
|
-
|
|
6747
|
+
if (!empty_string(iev_dst_service)) {
|
|
6748
|
+
let gobj_service = gobj_find_service(iev_dst_service, false);
|
|
6749
|
+
if (!gobj_service) {
|
|
6750
|
+
log_warning(`${gobj_short_name(gobj)}: event for a service that is gone, DROPPED: service '${iev_dst_service}', ev '${iev_event}'`);
|
|
6751
|
+
return 0;
|
|
6752
|
+
}
|
|
6753
|
+
if (!gobj_has_event(gobj_service, iev_event, event_flag_t.EVF_PUBLIC_EVENT)) {
|
|
6733
6754
|
log_error(`${gobj_short_name(gobj)}: Service found but no event or not public, service '${gobj_short_name(gobj_service)}', ev '${iev_event}'`);
|
|
6734
6755
|
return -1;
|
|
6735
6756
|
}
|
|
6736
|
-
|
|
6757
|
+
gobj_send_event(gobj_service, iev_event, iev_kw, gobj);
|
|
6758
|
+
return 0;
|
|
6759
|
+
}
|
|
6760
|
+
if (gobj_is_pure_child(gobj)) gobj_send_event(gobj_parent(gobj), iev_event, iev_kw, gobj);
|
|
6737
6761
|
else gobj_publish_event(gobj, iev_event, iev_kw);
|
|
6738
6762
|
return 0;
|
|
6739
6763
|
}
|
|
@@ -6910,6 +6934,7 @@
|
|
|
6910
6934
|
exports.debounce = debounce;
|
|
6911
6935
|
exports.delete_from_list = delete_from_list;
|
|
6912
6936
|
exports.duplicate_objects = duplicate_objects;
|
|
6937
|
+
exports.empty_json = empty_json;
|
|
6913
6938
|
exports.empty_string = empty_string;
|
|
6914
6939
|
exports.escapeHtml = escapeHtml;
|
|
6915
6940
|
exports.event_flag_t = event_flag_t;
|