@yuneta/gobj-js 7.7.2 → 7.8.0
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 +76 -2
- package/dist/gobj-js.cjs.js +96 -25
- package/dist/gobj-js.cjs.js.map +1 -1
- package/dist/gobj-js.cjs.min.js +755 -734
- package/dist/gobj-js.cjs.min.js.map +1 -1
- package/dist/gobj-js.es.js +96 -26
- package/dist/gobj-js.es.js.map +1 -1
- package/dist/gobj-js.es.min.js +809 -787
- package/dist/gobj-js.es.min.js.map +1 -1
- package/dist/gobj-js.iife.js +96 -25
- package/dist/gobj-js.iife.js.map +1 -1
- package/dist/gobj-js.iife.min.js +806 -785
- package/dist/gobj-js.iife.min.js.map +1 -1
- package/dist/gobj-js.umd.js +96 -25
- package/dist/gobj-js.umd.js.map +1 -1
- package/dist/gobj-js.umd.min.js +1128 -1107
- package/dist/gobj-js.umd.min.js.map +1 -1
- package/package.json +2 -3
package/dist/gobj-js.es.js
CHANGED
|
@@ -2629,6 +2629,10 @@ var __log_callback__ = null;
|
|
|
2629
2629
|
function set_log_callback(fn) {
|
|
2630
2630
|
__log_callback__ = typeof fn === "function" ? fn : null;
|
|
2631
2631
|
}
|
|
2632
|
+
var __console_output_enabled__ = true;
|
|
2633
|
+
function set_console_log_enabled(enabled) {
|
|
2634
|
+
__console_output_enabled__ = enabled ? true : false;
|
|
2635
|
+
}
|
|
2632
2636
|
var __in_log_callback__ = false;
|
|
2633
2637
|
function emit_log_callback(level, msg, hora) {
|
|
2634
2638
|
if (__log_callback__ && !__in_log_callback__) {
|
|
@@ -2674,9 +2678,10 @@ function format_log(format) {
|
|
|
2674
2678
|
function log_error(format) {
|
|
2675
2679
|
let msg = format_log(format);
|
|
2676
2680
|
let hora = current_timestamp();
|
|
2677
|
-
if (f_error) if (f_error === window.console.error)
|
|
2678
|
-
|
|
2679
|
-
|
|
2681
|
+
if (f_error) if (f_error === window.console.error) {
|
|
2682
|
+
if (__console_output_enabled__) f_error("%c" + hora + " ERROR: " + String(msg), "color:red");
|
|
2683
|
+
} else {
|
|
2684
|
+
if (__console_output_enabled__) window.console.error("%c" + hora + " ERROR: " + String(msg), "color:red");
|
|
2680
2685
|
f_error(`${hora} ERROR: ${String(msg)}`);
|
|
2681
2686
|
}
|
|
2682
2687
|
emit_log_callback("error", msg, hora);
|
|
@@ -2684,9 +2689,10 @@ function log_error(format) {
|
|
|
2684
2689
|
function log_warning(format) {
|
|
2685
2690
|
let msg = format_log(format);
|
|
2686
2691
|
let hora = current_timestamp();
|
|
2687
|
-
if (f_warning) if (f_warning === window.console.warn)
|
|
2688
|
-
|
|
2689
|
-
|
|
2692
|
+
if (f_warning) if (f_warning === window.console.warn) {
|
|
2693
|
+
if (__console_output_enabled__) f_warning("%c" + hora + " WARNING: " + String(msg), "color:yellow");
|
|
2694
|
+
} else {
|
|
2695
|
+
if (__console_output_enabled__) window.console.warn("%c" + hora + " WARNING: " + String(msg), "color:yellow");
|
|
2690
2696
|
f_warning(`${hora} WARNING: ${String(msg)}`);
|
|
2691
2697
|
}
|
|
2692
2698
|
emit_log_callback("warning", msg, hora);
|
|
@@ -2694,24 +2700,32 @@ function log_warning(format) {
|
|
|
2694
2700
|
function log_info(format) {
|
|
2695
2701
|
let msg = format_log(format);
|
|
2696
2702
|
let hora = current_timestamp();
|
|
2697
|
-
if (f_info)
|
|
2703
|
+
if (f_info) {
|
|
2704
|
+
if (__console_output_enabled__) f_info("%c" + hora + " INFO: " + String(msg), "color:cyan");
|
|
2705
|
+
}
|
|
2698
2706
|
emit_log_callback("info", msg, hora);
|
|
2699
2707
|
}
|
|
2700
2708
|
function log_debug(format) {
|
|
2701
2709
|
let msg = format_log(format);
|
|
2702
2710
|
let hora = current_timestamp();
|
|
2703
|
-
if (f_debug)
|
|
2711
|
+
if (f_debug) {
|
|
2712
|
+
if (__console_output_enabled__) f_debug("%c" + hora + " DEBUG: " + String(msg), "color:silver");
|
|
2713
|
+
}
|
|
2704
2714
|
emit_log_callback("debug", msg, hora);
|
|
2705
2715
|
}
|
|
2706
2716
|
function trace_msg(format) {
|
|
2707
2717
|
let msg = format_log(format);
|
|
2708
2718
|
let hora = current_timestamp();
|
|
2709
|
-
if (f_debug)
|
|
2719
|
+
if (f_debug) {
|
|
2720
|
+
if (__console_output_enabled__) f_debug("%c" + hora + " MSG: " + String(msg), "color:cyan");
|
|
2721
|
+
}
|
|
2710
2722
|
emit_log_callback("msg", msg, hora);
|
|
2711
2723
|
}
|
|
2712
2724
|
function trace_json(jn, msg) {
|
|
2713
|
-
if (
|
|
2714
|
-
|
|
2725
|
+
if (__console_output_enabled__) {
|
|
2726
|
+
if (msg) window.console.warn("=====> " + msg);
|
|
2727
|
+
window.console.dir(jn);
|
|
2728
|
+
}
|
|
2715
2729
|
emit_log_callback("json", jn, current_timestamp());
|
|
2716
2730
|
}
|
|
2717
2731
|
/************************************************************
|
|
@@ -3524,17 +3538,26 @@ function kw_get_local_storage_value(key, default_value, create = false) {
|
|
|
3524
3538
|
}
|
|
3525
3539
|
/********************************************
|
|
3526
3540
|
* Save a local attribute
|
|
3541
|
+
*
|
|
3542
|
+
* Returns 0 on success, -1 when the value did NOT reach the store.
|
|
3543
|
+
* It used to return nothing and only console.warn, so every caller up the
|
|
3544
|
+
* chain (db_save_persistent_attrs -> gobj_save_persistent_attrs -> the app)
|
|
3545
|
+
* reported success on a store that had rejected the write: a full or blocked
|
|
3546
|
+
* localStorage (quota, private mode) silently discarded the change while the
|
|
3547
|
+
* UI showed it as saved.
|
|
3527
3548
|
********************************************/
|
|
3528
3549
|
function kw_set_local_storage_value(key, value) {
|
|
3529
|
-
if (typeof window === "undefined" || !window.localStorage) return;
|
|
3550
|
+
if (typeof window === "undefined" || !window.localStorage) return 0;
|
|
3530
3551
|
if (!key || value === void 0) {
|
|
3531
|
-
|
|
3532
|
-
return;
|
|
3552
|
+
log_error(`kw_set_local_storage_value(): invalid key or value: key=${key}`);
|
|
3553
|
+
return -1;
|
|
3533
3554
|
}
|
|
3534
3555
|
try {
|
|
3535
3556
|
window.localStorage.setItem(key, JSON.stringify(value));
|
|
3557
|
+
return 0;
|
|
3536
3558
|
} catch (e) {
|
|
3537
|
-
|
|
3559
|
+
log_error(`kw_set_local_storage_value(): cannot save "${key}" (storage full or blocked?): ${e && e.message ? e.message : e}`);
|
|
3560
|
+
return -1;
|
|
3538
3561
|
}
|
|
3539
3562
|
}
|
|
3540
3563
|
/********************************************
|
|
@@ -3621,7 +3644,7 @@ function kwid_new_dict(gobj, kw, path) {
|
|
|
3621
3644
|
if (is_object(kw)) new_dict = kw;
|
|
3622
3645
|
else if (is_array(kw)) for (let i = 0; i < kw.length; i++) {
|
|
3623
3646
|
let kv = kw[i];
|
|
3624
|
-
let id = kw_get_str(kv, "id",
|
|
3647
|
+
let id = kw_get_str(gobj, kv, "id", "", 0);
|
|
3625
3648
|
if (!empty_string(id)) new_dict[id] = kv;
|
|
3626
3649
|
}
|
|
3627
3650
|
else log_error(`${gobj_short_name(gobj)} kwid_new_dict: data type unknown`);
|
|
@@ -4509,6 +4532,10 @@ function refresh_language(element, t) {
|
|
|
4509
4532
|
let value = elem.getAttribute("data-i18n-aria-label");
|
|
4510
4533
|
if (value) elem.setAttribute("aria-label", t(value));
|
|
4511
4534
|
});
|
|
4535
|
+
element.querySelectorAll("[data-i18n-placeholder]").forEach(function(elem) {
|
|
4536
|
+
let value = elem.getAttribute("data-i18n-placeholder");
|
|
4537
|
+
if (value) elem.setAttribute("placeholder", t(value));
|
|
4538
|
+
});
|
|
4512
4539
|
}
|
|
4513
4540
|
/************************************************************
|
|
4514
4541
|
* Example Usage
|
|
@@ -4690,13 +4717,16 @@ function db_load_persistent_attrs(gobj, keys) {
|
|
|
4690
4717
|
}
|
|
4691
4718
|
}
|
|
4692
4719
|
/************************************************************
|
|
4693
|
-
*
|
|
4720
|
+
* Returns 0 on success, -1 when the attrs did NOT reach the store
|
|
4721
|
+
* (quota exceeded, private mode, storage disabled). Callers must check
|
|
4722
|
+
* it: a discarded write with a UI that shows the value as saved is the
|
|
4723
|
+
* worst of both worlds.
|
|
4694
4724
|
************************************************************/
|
|
4695
4725
|
function db_save_persistent_attrs(gobj, keys) {
|
|
4696
4726
|
let attrs = kw_clone_by_keys(gobj, gobj_read_attrs(gobj, sdata_flag_t.SDF_PERSIST, 0), keys, false);
|
|
4697
4727
|
let jn_file = kw_get_local_storage_value(_get_persistent_path(gobj), null, false);
|
|
4698
4728
|
if (jn_file && is_object(jn_file)) json_object_update_missing(attrs, jn_file);
|
|
4699
|
-
kw_set_local_storage_value(_get_persistent_path(gobj), attrs);
|
|
4729
|
+
return kw_set_local_storage_value(_get_persistent_path(gobj), attrs);
|
|
4700
4730
|
}
|
|
4701
4731
|
/************************************************************
|
|
4702
4732
|
*
|
|
@@ -4912,6 +4942,7 @@ function treedb_decoder_hook(col, hook) {
|
|
|
4912
4942
|
* is_writable // field writable (no readonly)
|
|
4913
4943
|
* default_value
|
|
4914
4944
|
* placeholder
|
|
4945
|
+
* fkey // fkey mapping {topic_name: hook_name}, null if none
|
|
4915
4946
|
* ]
|
|
4916
4947
|
*
|
|
4917
4948
|
* The template is recursive, in values you can set dictionaries, or arrays,
|
|
@@ -4981,7 +5012,8 @@ function treedb_get_field_desc(col) {
|
|
|
4981
5012
|
is_hidden: false,
|
|
4982
5013
|
default_value: col.default,
|
|
4983
5014
|
placeholder: col.placeholder,
|
|
4984
|
-
fillspace: col.fillspace || 4
|
|
5015
|
+
fillspace: col.fillspace || 4,
|
|
5016
|
+
fkey: col.fkey || null
|
|
4985
5017
|
};
|
|
4986
5018
|
if (!col.flag) return field_desc;
|
|
4987
5019
|
for (let i = 0; i < col.flag.length; i++) {
|
|
@@ -5027,7 +5059,8 @@ function template_get_field_desc(key, value) {
|
|
|
5027
5059
|
is_writable: false,
|
|
5028
5060
|
is_hidden: false,
|
|
5029
5061
|
default_value: void 0,
|
|
5030
|
-
placeholder: void 0
|
|
5062
|
+
placeholder: void 0,
|
|
5063
|
+
fkey: null
|
|
5031
5064
|
};
|
|
5032
5065
|
if (is_string(value)) {
|
|
5033
5066
|
let values = value.split(".");
|
|
@@ -5071,7 +5104,9 @@ function create_template_record(template, kw) {
|
|
|
5071
5104
|
let new_record = {};
|
|
5072
5105
|
if (!kw) kw = {};
|
|
5073
5106
|
Object.entries(template).forEach(([field, col]) => {
|
|
5074
|
-
|
|
5107
|
+
let default_value;
|
|
5108
|
+
if (is_object(col)) default_value = col.default;
|
|
5109
|
+
new_record[field] = kw_get_dict_value(null, kw, field, default_value);
|
|
5075
5110
|
});
|
|
5076
5111
|
return new_record;
|
|
5077
5112
|
}
|
|
@@ -5440,7 +5475,9 @@ var attrs_table = [
|
|
|
5440
5475
|
SDATA(data_type_t.DTP_STRING, "jwt", sdata_flag_t.SDF_PERSIST, "", "JWT"),
|
|
5441
5476
|
SDATA(data_type_t.DTP_STRING, "cert_pem", sdata_flag_t.SDF_PERSIST, "", "SSL server certification, PEM str format"),
|
|
5442
5477
|
SDATA(data_type_t.DTP_JSON, "extra_info", sdata_flag_t.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
|
|
5443
|
-
SDATA(data_type_t.
|
|
5478
|
+
SDATA(data_type_t.DTP_LIST, "required_services", sdata_flag_t.SDF_RD, "[]", "Services this LINK requires (identity card). Empty = the yuno's `required_services`, as before. A yuno with several links to DIFFERENT backends must set it per link: the yuno-wide list is the union, so every backend is told the service names of all the others."),
|
|
5479
|
+
SDATA(data_type_t.DTP_INTEGER, "timeout_retry", sdata_flag_t.SDF_RD, "5000", "First reconnect delay (ms). It BACKS OFF from here, doubling up to timeout_retry_max, and resets when a session is reached"),
|
|
5480
|
+
SDATA(data_type_t.DTP_INTEGER, "timeout_retry_max", sdata_flag_t.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
|
|
5444
5481
|
SDATA(data_type_t.DTP_INTEGER, "timeout_idack", sdata_flag_t.SDF_RD, "5000", "timeout waiting idAck"),
|
|
5445
5482
|
SDATA(data_type_t.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
|
|
5446
5483
|
SDATA_END()
|
|
@@ -5453,7 +5490,8 @@ var PRIVATE_DATA = {
|
|
|
5453
5490
|
gobj_timer: null,
|
|
5454
5491
|
inform_on_close: false,
|
|
5455
5492
|
websocket: null,
|
|
5456
|
-
inside_on_open: false
|
|
5493
|
+
inside_on_open: false,
|
|
5494
|
+
retry_ms: 0
|
|
5457
5495
|
};
|
|
5458
5496
|
var __gclass__ = null;
|
|
5459
5497
|
/******************************
|
|
@@ -5501,6 +5539,7 @@ function mt_writing(gobj, path) {
|
|
|
5501
5539
|
function mt_start(gobj) {
|
|
5502
5540
|
let priv = gobj.priv;
|
|
5503
5541
|
gobj_start(priv.gobj_timer);
|
|
5542
|
+
priv.retry_ms = 0;
|
|
5504
5543
|
priv.websocket = setup_websocket(gobj);
|
|
5505
5544
|
return 0;
|
|
5506
5545
|
}
|
|
@@ -5759,6 +5798,8 @@ function send_identity_card(gobj) {
|
|
|
5759
5798
|
let yuno_version = gobj_read_str_attr(gobj_yuno(), "yuno_version");
|
|
5760
5799
|
let yuno_release = gobj_read_str_attr(gobj_yuno(), "yuno_release");
|
|
5761
5800
|
let yuno_tag = gobj_read_str_attr(gobj_yuno(), "yuno_tag");
|
|
5801
|
+
let required_services = gobj_read_attr(gobj, "required_services");
|
|
5802
|
+
if (!required_services || !required_services.length) required_services = gobj_read_attr(gobj_yuno(), "required_services");
|
|
5762
5803
|
let kw = {
|
|
5763
5804
|
"yuno_role": gobj_yuno_role(),
|
|
5764
5805
|
"yuno_id": gobj_yuno_id(),
|
|
@@ -5777,7 +5818,7 @@ function send_identity_card(gobj) {
|
|
|
5777
5818
|
"id": node_uuid(),
|
|
5778
5819
|
"user_agent": typeof window !== "undefined" ? window.navigator.userAgent : "",
|
|
5779
5820
|
"language": typeof window !== "undefined" ? window.navigator.language : "",
|
|
5780
|
-
"required_services":
|
|
5821
|
+
"required_services": required_services
|
|
5781
5822
|
};
|
|
5782
5823
|
msg_iev_push_stack(gobj, kw, IEVENT_STACK_ID, build_cli_ievent_request(gobj, gobj_name(gobj_parent(gobj)), null));
|
|
5783
5824
|
msg_iev_set_msg_type(gobj, kw, "__identity__");
|
|
@@ -5906,9 +5947,37 @@ function ac_on_close(gobj, event, kw, src) {
|
|
|
5906
5947
|
was_clean: e.wasClean
|
|
5907
5948
|
});
|
|
5908
5949
|
}
|
|
5909
|
-
if (gobj_is_running(gobj)) set_timeout(priv.gobj_timer,
|
|
5950
|
+
if (gobj_is_running(gobj)) set_timeout(priv.gobj_timer, next_retry(gobj));
|
|
5910
5951
|
return 0;
|
|
5911
5952
|
}
|
|
5953
|
+
/***************************************************************
|
|
5954
|
+
* How long to wait before the next reconnect attempt.
|
|
5955
|
+
*
|
|
5956
|
+
* The delay used to be a constant (`timeout_retry`, 5s), for ever. A
|
|
5957
|
+
* backend that is down — or a URL with a typo, which never comes back —
|
|
5958
|
+
* was therefore hit every 5 seconds for the whole life of the tab, by
|
|
5959
|
+
* EVERY link pointed at it, all in lockstep. It backs off now: from
|
|
5960
|
+
* `timeout_retry`, doubling, capped at `timeout_retry_max`.
|
|
5961
|
+
*
|
|
5962
|
+
* The jitter (±20%) is what breaks the lockstep. Without it, N links that
|
|
5963
|
+
* went down together retry together for ever — a thundering herd against a
|
|
5964
|
+
* backend that is just coming back up. It is the one place a random number
|
|
5965
|
+
* earns its keep.
|
|
5966
|
+
*
|
|
5967
|
+
* Reset to zero when a session is actually reached
|
|
5968
|
+
* (ac_identity_card_ack), so a link that flaps once does not carry a
|
|
5969
|
+
* minute-long penalty into its next real drop.
|
|
5970
|
+
***************************************************************/
|
|
5971
|
+
function next_retry(gobj) {
|
|
5972
|
+
let priv = gobj.priv;
|
|
5973
|
+
let base = gobj_read_integer_attr(gobj, "timeout_retry");
|
|
5974
|
+
let max = gobj_read_integer_attr(gobj, "timeout_retry_max");
|
|
5975
|
+
if (max < base) max = base;
|
|
5976
|
+
priv.retry_ms = priv.retry_ms ? Math.min(priv.retry_ms * 2, max) : base;
|
|
5977
|
+
let jitter = priv.retry_ms * .2;
|
|
5978
|
+
let ms = priv.retry_ms - jitter + Math.random() * 2 * jitter;
|
|
5979
|
+
return Math.max(1, Math.round(ms));
|
|
5980
|
+
}
|
|
5912
5981
|
/********************************************
|
|
5913
5982
|
*
|
|
5914
5983
|
********************************************/
|
|
@@ -5949,6 +6018,7 @@ function ac_identity_card_ack(gobj, event, kw, src) {
|
|
|
5949
6018
|
} else {
|
|
5950
6019
|
gobj_change_state(gobj, "ST_SESSION");
|
|
5951
6020
|
priv.inside_on_open = true;
|
|
6021
|
+
priv.retry_ms = 0;
|
|
5952
6022
|
if (!priv.inform_on_close) {
|
|
5953
6023
|
priv.inform_on_close = true;
|
|
5954
6024
|
let kw_on_open = {
|
|
@@ -6149,6 +6219,6 @@ function register_c_ievent_cli() {
|
|
|
6149
6219
|
return create_gclass(GCLASS_NAME);
|
|
6150
6220
|
}
|
|
6151
6221
|
//#endregion
|
|
6152
|
-
export { GObj, SDATA, SDATAAUTHZ, SDATACM, SDATACM2, SDATADF, SDATAPM, SDATAPM0, SDATA_END, SDataDesc, YUNETA_VERSION, __yuno__, build_command_response, build_path, build_stats_response, clean_name, clear_timeout, cmp_two_simple_json, command_parser, createElement2, createOneHtml, create_json_record, create_template_record, current_timestamp, data_type_t, db_list_persistent_attrs, db_load_persistent_attrs, db_remove_persistent_attrs, db_save_persistent_attrs, debounce, delete_from_list, duplicate_objects, empty_string, escapeHtml, event_flag_t, gclass_add_ev_action, gclass_add_event_type, gclass_add_state, gclass_check_fsm, gclass_create, gclass_event_type, gclass_find_by_name, gclass_flag_t, gclass_unregister, getPositionRelativeToBody, get_function_name, get_now, gobj_bottom_gobj, gobj_change_parent, gobj_change_state, gobj_command, gobj_create, gobj_create2, gobj_create_default_service, gobj_create_pure_child, gobj_create_service, gobj_create_volatil, gobj_create_yuno, gobj_current_state, gobj_default_service, gobj_destroy, gobj_find_child, gobj_find_gobj, gobj_find_service, gobj_find_subscribings, gobj_find_subscriptions, gobj_flag_t, gobj_full_name, gobj_gclass_name, gobj_has_attr, gobj_has_event, gobj_has_output_event, gobj_hsdata, gobj_is_destroying, gobj_is_playing, gobj_is_pure_child, gobj_is_running, gobj_is_service, gobj_is_volatil, gobj_list_persistent_attrs, gobj_list_subscriptions, gobj_load_persistent_attrs, gobj_match_children, gobj_match_children_tree, gobj_match_gobj, gobj_name, gobj_parent, gobj_pause, gobj_play, gobj_post_event, gobj_publish_event, gobj_read_attr, gobj_read_attrs, gobj_read_bool_attr, gobj_read_integer_attr, gobj_read_pointer_attr, gobj_read_str_attr, gobj_remove_persistent_attrs, gobj_reset_volatil_attrs, gobj_save_persistent_attrs, gobj_search_path, gobj_send_event, gobj_services, gobj_set_bottom_gobj, gobj_set_trace_machine_format, gobj_short_name, gobj_start, gobj_start_children, gobj_start_tree, gobj_start_up, gobj_stats, gobj_stop, gobj_stop_children, gobj_stop_tree, gobj_subscribe_event, gobj_trace_machine_format, gobj_unsubscribe_event, gobj_unsubscribe_list, gobj_walk_gobj_children, gobj_walk_gobj_children_tree, gobj_write_attr, gobj_write_attrs, gobj_write_bool_attr, gobj_write_integer_attr, gobj_write_str_attr, gobj_yuno, gobj_yuno_id, gobj_yuno_name, gobj_yuno_role, id_index_in_obj_list, index_in_list, is_array, is_boolean, is_date, is_function, is_gobj, is_metadata_key, is_null, is_number, is_object, is_private_key, is_pure_number, is_string, jdb_delete, jdb_get, jdb_get_by_idx, jdb_get_topic, jdb_init, jdb_update, json_array_append, json_array_append_new, json_array_extend, json_array_remove, json_array_size, json_deep_copy, json_is_identical, json_object_del, json_object_get, json_object_set, json_object_set_new, json_object_size, json_object_update, json_object_update_existing, json_object_update_missing, json_size, jwt2json, jwtDecode, kw_clone_by_keys, kw_clone_by_not_keys, kw_collect, kw_delete, kw_find_json_in_list, kw_find_path, kw_flag_t, kw_get_bool, kw_get_dict, kw_get_dict_value, kw_get_int, kw_get_list, kw_get_local_storage_value, kw_get_pointer, kw_get_real, kw_get_str, kw_has_key, kw_match_simple, kw_pop, kw_remove_local_storage_value, kw_select, kw_set_dict_value, kw_set_local_storage_value, kw_set_subdict_value, kwid_collect, kwid_find_one_record, kwid_get_ids, kwid_match_id, kwid_new_dict, list2options, load_json_file, log_debug, log_error, log_info, log_warning, msg_iev_get_msg_type, msg_iev_get_stack, msg_iev_push_stack, msg_iev_read_key, msg_iev_set_msg_type, msg_iev_write_key, node_uuid, parseBoolean, parseSVG, refresh_language, register_c_ievent_cli, register_c_timer, register_c_yuno, safeSrc, sdata_flag_t, send_http_json_post, set_log_callback, set_remote_log_functions, set_timeout, set_timeout_periodic, sprintf, stats_parser, str_in_list, strcasecmp, strcmp, strncmp, strs_in_list, strstr, template_get_field_desc, timeTracker, trace_json, trace_msg, treedb_decoder_fkey, treedb_decoder_hook, treedb_encoder_fkey, treedb_get_field_desc, treedb_hook_data_size, vsprintf };
|
|
6222
|
+
export { GObj, SDATA, SDATAAUTHZ, SDATACM, SDATACM2, SDATADF, SDATAPM, SDATAPM0, SDATA_END, SDataDesc, YUNETA_VERSION, __yuno__, build_command_response, build_path, build_stats_response, clean_name, clear_timeout, cmp_two_simple_json, command_parser, createElement2, createOneHtml, create_json_record, create_template_record, current_timestamp, data_type_t, db_list_persistent_attrs, db_load_persistent_attrs, db_remove_persistent_attrs, db_save_persistent_attrs, debounce, delete_from_list, duplicate_objects, empty_string, escapeHtml, event_flag_t, gclass_add_ev_action, gclass_add_event_type, gclass_add_state, gclass_check_fsm, gclass_create, gclass_event_type, gclass_find_by_name, gclass_flag_t, gclass_unregister, getPositionRelativeToBody, get_function_name, get_now, gobj_bottom_gobj, gobj_change_parent, gobj_change_state, gobj_command, gobj_create, gobj_create2, gobj_create_default_service, gobj_create_pure_child, gobj_create_service, gobj_create_volatil, gobj_create_yuno, gobj_current_state, gobj_default_service, gobj_destroy, gobj_find_child, gobj_find_gobj, gobj_find_service, gobj_find_subscribings, gobj_find_subscriptions, gobj_flag_t, gobj_full_name, gobj_gclass_name, gobj_has_attr, gobj_has_event, gobj_has_output_event, gobj_hsdata, gobj_is_destroying, gobj_is_playing, gobj_is_pure_child, gobj_is_running, gobj_is_service, gobj_is_volatil, gobj_list_persistent_attrs, gobj_list_subscriptions, gobj_load_persistent_attrs, gobj_match_children, gobj_match_children_tree, gobj_match_gobj, gobj_name, gobj_parent, gobj_pause, gobj_play, gobj_post_event, gobj_publish_event, gobj_read_attr, gobj_read_attrs, gobj_read_bool_attr, gobj_read_integer_attr, gobj_read_pointer_attr, gobj_read_str_attr, gobj_remove_persistent_attrs, gobj_reset_volatil_attrs, gobj_save_persistent_attrs, gobj_search_path, gobj_send_event, gobj_services, gobj_set_bottom_gobj, gobj_set_trace_machine_format, gobj_short_name, gobj_start, gobj_start_children, gobj_start_tree, gobj_start_up, gobj_stats, gobj_stop, gobj_stop_children, gobj_stop_tree, gobj_subscribe_event, gobj_trace_machine_format, gobj_unsubscribe_event, gobj_unsubscribe_list, gobj_walk_gobj_children, gobj_walk_gobj_children_tree, gobj_write_attr, gobj_write_attrs, gobj_write_bool_attr, gobj_write_integer_attr, gobj_write_str_attr, gobj_yuno, gobj_yuno_id, gobj_yuno_name, gobj_yuno_role, id_index_in_obj_list, index_in_list, is_array, is_boolean, is_date, is_function, is_gobj, is_metadata_key, is_null, is_number, is_object, is_private_key, is_pure_number, is_string, jdb_delete, jdb_get, jdb_get_by_idx, jdb_get_topic, jdb_init, jdb_update, json_array_append, json_array_append_new, json_array_extend, json_array_remove, json_array_size, json_deep_copy, json_is_identical, json_object_del, json_object_get, json_object_set, json_object_set_new, json_object_size, json_object_update, json_object_update_existing, json_object_update_missing, json_size, jwt2json, jwtDecode, kw_clone_by_keys, kw_clone_by_not_keys, kw_collect, kw_delete, kw_find_json_in_list, kw_find_path, kw_flag_t, kw_get_bool, kw_get_dict, kw_get_dict_value, kw_get_int, kw_get_list, kw_get_local_storage_value, kw_get_pointer, kw_get_real, kw_get_str, kw_has_key, kw_match_simple, kw_pop, kw_remove_local_storage_value, kw_select, kw_set_dict_value, kw_set_local_storage_value, kw_set_subdict_value, kwid_collect, kwid_find_one_record, kwid_get_ids, kwid_match_id, kwid_new_dict, list2options, load_json_file, log_debug, log_error, log_info, log_warning, msg_iev_get_msg_type, msg_iev_get_stack, msg_iev_push_stack, msg_iev_read_key, msg_iev_set_msg_type, msg_iev_write_key, node_uuid, parseBoolean, parseSVG, refresh_language, register_c_ievent_cli, register_c_timer, register_c_yuno, safeSrc, sdata_flag_t, send_http_json_post, set_console_log_enabled, set_log_callback, set_remote_log_functions, set_timeout, set_timeout_periodic, sprintf, stats_parser, str_in_list, strcasecmp, strcmp, strncmp, strs_in_list, strstr, template_get_field_desc, timeTracker, trace_json, trace_msg, treedb_decoder_fkey, treedb_decoder_hook, treedb_encoder_fkey, treedb_get_field_desc, treedb_hook_data_size, vsprintf };
|
|
6153
6223
|
|
|
6154
6224
|
//# sourceMappingURL=gobj-js.es.js.map
|