Function quickjs_runtime::quickjs_utils::maps::values_q
source · [−]pub fn values_q<C: Fn(JSValueRef) -> Result<R, JsError>, R>(
q_ctx: &QuickJsRealmAdapter,
map: &JSValueRef,
consumer_producer: C
) -> Result<Vec<R>, JsError>
Expand description
iterate over all values of a map
Example
use quickjs_runtime::builder::QuickJsRuntimeBuilder;
use quickjs_runtime::quickjs_utils::maps::{new_map_q, set_q, values_q};
use quickjs_runtime::valueref::JSValueRef;
use quickjs_runtime::quickjs_utils::primitives;
let rt = QuickJsRuntimeBuilder::new().build();
rt.exe_rt_task_in_event_loop(|q_js_rt| {
let q_ctx = q_js_rt.get_main_context();
let my_map: JSValueRef = new_map_q(q_ctx).ok().unwrap();
let key = primitives::from_i32(12);
let value = primitives::from_i32(23);
set_q(q_ctx, &my_map, key, value).ok().unwrap();
let mapped_values = values_q(q_ctx, &my_map, |value| {Ok(123)}).ok().unwrap();
assert_eq!(mapped_values.len(), 1);
});