@yuneta/gobj-js 7.13.3 → 7.13.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 +32 -8
- package/dist/gobj-js.cjs.js.map +1 -1
- package/dist/gobj-js.cjs.min.js +866 -858
- package/dist/gobj-js.cjs.min.js.map +1 -1
- package/dist/gobj-js.es.js +32 -9
- package/dist/gobj-js.es.js.map +1 -1
- package/dist/gobj-js.es.min.js +901 -893
- package/dist/gobj-js.es.min.js.map +1 -1
- package/dist/gobj-js.iife.js +32 -8
- package/dist/gobj-js.iife.js.map +1 -1
- package/dist/gobj-js.iife.min.js +866 -858
- package/dist/gobj-js.iife.min.js.map +1 -1
- package/dist/gobj-js.umd.js +32 -8
- package/dist/gobj-js.umd.js.map +1 -1
- package/dist/gobj-js.umd.min.js +866 -858
- package/dist/gobj-js.umd.min.js.map +1 -1
- package/package.json +1 -1
package/dist/gobj-js.iife.js
CHANGED
|
@@ -1581,7 +1581,7 @@ var gobjJs = (function(exports) {
|
|
|
1581
1581
|
let ret = 0;
|
|
1582
1582
|
if (gobj.gclass.gmt.mt_play) {
|
|
1583
1583
|
ret = gobj.gclass.gmt.mt_play(gobj);
|
|
1584
|
-
if (ret < 0) gobj.playing = false;
|
|
1584
|
+
if (ret < 0 || ret === false) gobj.playing = false;
|
|
1585
1585
|
}
|
|
1586
1586
|
return ret;
|
|
1587
1587
|
}
|
|
@@ -1803,17 +1803,39 @@ var gobjJs = (function(exports) {
|
|
|
1803
1803
|
/***************************************************************
|
|
1804
1804
|
* Walking
|
|
1805
1805
|
***************************************************************/
|
|
1806
|
+
/***************************************************************
|
|
1807
|
+
* What a WALK CALLBACK answered, as the number the contract is
|
|
1808
|
+
* written in: -1 stop the walk, 0 descend into the children,
|
|
1809
|
+
* >0 do not descend.
|
|
1810
|
+
*
|
|
1811
|
+
* A javascript callback that simply RETURNS NOTHING is the common
|
|
1812
|
+
* case, and `undefined` is neither `< 0` nor `=== 0`, so the walk
|
|
1813
|
+
* used to read it as "do not descend" and skipped the subtree in
|
|
1814
|
+
* silence. Nothing is 0 here — the neutral answer, the one C gives
|
|
1815
|
+
* when an action has nothing to say.
|
|
1816
|
+
*
|
|
1817
|
+
* A boolean is NOT guessed: `true`/`false` could mean either half of
|
|
1818
|
+
* this contract, so it is reported and taken as 0. A walk that
|
|
1819
|
+
* silently loses a subtree is the thing this whole function exists
|
|
1820
|
+
* to stop.
|
|
1821
|
+
***************************************************************/
|
|
1822
|
+
function walk_ret(ret) {
|
|
1823
|
+
if (typeof ret === "number" && isFinite(ret)) return ret;
|
|
1824
|
+
if (ret === void 0 || ret === null) return 0;
|
|
1825
|
+
log_error(`walk callback must return a NUMBER (-1 stop, 0 descend, >0 skip children), got ${typeof ret}: taken as 0`);
|
|
1826
|
+
return 0;
|
|
1827
|
+
}
|
|
1806
1828
|
function rc_walk_by_list(iter_, walk_type, cb_walking, user_data, user_data2) {
|
|
1807
1829
|
let iter = [...iter_];
|
|
1808
1830
|
let child;
|
|
1809
1831
|
if (walk_type & walk_type_t.WALK_LAST2FIRST) for (let i = iter.length; i > 0; i--) {
|
|
1810
1832
|
child = iter[i - 1];
|
|
1811
|
-
let ret = cb_walking(child, user_data, user_data2);
|
|
1833
|
+
let ret = walk_ret(cb_walking(child, user_data, user_data2));
|
|
1812
1834
|
if (ret < 0) return ret;
|
|
1813
1835
|
}
|
|
1814
1836
|
else for (let i = 0; i < iter.length; i++) {
|
|
1815
1837
|
child = iter[i];
|
|
1816
|
-
let ret = cb_walking(child, user_data, user_data2);
|
|
1838
|
+
let ret = walk_ret(cb_walking(child, user_data, user_data2));
|
|
1817
1839
|
if (ret < 0) return ret;
|
|
1818
1840
|
}
|
|
1819
1841
|
return 0;
|
|
@@ -1866,12 +1888,12 @@ var gobjJs = (function(exports) {
|
|
|
1866
1888
|
child = iter[i - 1];
|
|
1867
1889
|
ret = rc_walk_by_tree([...child.dl_children], walk_type, cb_walking, user_data, user_data2);
|
|
1868
1890
|
if (ret < 0) return ret;
|
|
1869
|
-
ret = cb_walking(child, user_data, user_data2);
|
|
1891
|
+
ret = walk_ret(cb_walking(child, user_data, user_data2));
|
|
1870
1892
|
if (ret < 0) return ret;
|
|
1871
1893
|
}
|
|
1872
1894
|
else for (let i = 0; i < iter.length; i++) {
|
|
1873
1895
|
child = iter[i];
|
|
1874
|
-
ret = cb_walking(child, user_data, user_data2);
|
|
1896
|
+
ret = walk_ret(cb_walking(child, user_data, user_data2));
|
|
1875
1897
|
if (ret < 0) return ret;
|
|
1876
1898
|
else if (ret === 0) {
|
|
1877
1899
|
ret = rc_walk_by_tree([...child.dl_children], walk_type, cb_walking, user_data, user_data2);
|
|
@@ -2715,7 +2737,8 @@ var gobjJs = (function(exports) {
|
|
|
2715
2737
|
if (kw) trace_json(kw);
|
|
2716
2738
|
}
|
|
2717
2739
|
if (publisher.gclass.gmt.mt_subscription_added) {
|
|
2718
|
-
|
|
2740
|
+
let result = publisher.gclass.gmt.mt_subscription_added(publisher, subs);
|
|
2741
|
+
if (result < 0 || result === false) {
|
|
2719
2742
|
_delete_subscription(publisher, subs, true, true);
|
|
2720
2743
|
subs = 0;
|
|
2721
2744
|
}
|
|
@@ -2864,7 +2887,7 @@ var gobjJs = (function(exports) {
|
|
|
2864
2887
|
if (publisher.gclass.gmt.mt_publication_pre_filter) {
|
|
2865
2888
|
let topublish = publisher.gclass.gmt.mt_publication_pre_filter(publisher, subs, event, kw);
|
|
2866
2889
|
if (topublish < 0) break;
|
|
2867
|
-
else if (topublish
|
|
2890
|
+
else if (!topublish) continue;
|
|
2868
2891
|
}
|
|
2869
2892
|
let subscriber = kw_get_pointer(publisher, subs, "subscriber", null, kw_flag_t.KW_REQUIRED);
|
|
2870
2893
|
if (!(subscriber && !gobj_is_destroying(subscriber))) continue;
|
|
@@ -6435,7 +6458,7 @@ var gobjJs = (function(exports) {
|
|
|
6435
6458
|
let iev_kw = iev_msg.kw;
|
|
6436
6459
|
if (gobj_current_state(gobj) !== "ST_SESSION") {
|
|
6437
6460
|
if (gobj_has_event(gobj, iev_event, event_flag_t.EVF_PUBLIC_EVENT)) {
|
|
6438
|
-
if (gobj_send_event(gobj, iev_event, iev_kw, gobj)
|
|
6461
|
+
if (!(gobj_send_event(gobj, iev_event, iev_kw, gobj) < 0)) return 0;
|
|
6439
6462
|
} else log_error(`${gobj_short_name(gobj)}: event UNKNOWN in not-session state ${iev_event}`);
|
|
6440
6463
|
close_websocket(gobj);
|
|
6441
6464
|
return -1;
|
|
@@ -6862,6 +6885,7 @@ var gobjJs = (function(exports) {
|
|
|
6862
6885
|
exports.treedb_get_field_desc = treedb_get_field_desc;
|
|
6863
6886
|
exports.treedb_hook_data_size = treedb_hook_data_size;
|
|
6864
6887
|
exports.vsprintf = vsprintf;
|
|
6888
|
+
exports.walk_type_t = walk_type_t;
|
|
6865
6889
|
return exports;
|
|
6866
6890
|
})({});
|
|
6867
6891
|
|