From 62f9d83b6ae7b62fb5606fbfd47c4332a2a2d3e6 Mon Sep 17 00:00:00 2001 From: Brian Cully Date: Thu, 18 Dec 2025 18:14:35 -0500 Subject: rust: remove map_set --- src/lib.rs | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index e147e8e..b0f6264 100755 --- a/src/lib.rs +++ b/src/lib.rs @@ -34,12 +34,6 @@ fn tr_op(op: &forth::vm::OpCode) -> String { s.to_string() } -fn map_set>(m: &js_sys::Map, k: &str, v: T) { - let jk: js_sys::JsString = k.to_string().into(); - let jv = v.into(); - m.set(&jk, &jv); -} - impl From<&forth::vm::InstructionPointer> for js_sys::Map { fn from(ip: &forth::vm::InstructionPointer) -> Self { let res = Self::new(); @@ -134,7 +128,7 @@ impl ExportedVM { js_sys::Array::from_iter(ops) } ); - map_set(&res, "wordlist", js_sys::Array::from_iter(wl)); + res.set(&"wordlist".into(), &js_sys::Array::from_iter(wl)); // annotations let annos = self.annos.iter().map( @@ -148,31 +142,31 @@ impl ExportedVM { js_sys::Array::from_iter(ops) } ); - map_set(&res, "annos", js_sys::Array::from_iter(annos)); + res.set(&"annos".into(), &js_sys::Array::from_iter(annos)); // instruction pointer let ip: js_sys::Map = (&vm.ip).into(); - map_set(&res, "ip", js_sys::Object::from_entries(&ip)?); + res.set(&"ip".into(), &js_sys::Object::from_entries(&ip)?.into()); // stack let s = vm.stack.0.iter().map(|v| Into::::into(*v as i32)); - map_set(&res, "stack", js_sys::Array::from_iter(s)); + res.set(&"stack".into(), &js_sys::Array::from_iter(s)); // callstack let cs = vm.callstack.0.iter().map(|v| { let ip: js_sys::Map = v.into(); js_sys::Object::from_entries(&ip).expect("can't make object from ip map") }); - map_set(&res, "callstack", js_sys::Array::from_iter(cs)); + res.set(&"callstack".into(), &js_sys::Array::from_iter(cs)); let vars = js_sys::Map::new(); let mut out = vec![]; std::mem::swap(&mut out, &mut vm.out); - map_set(&vars, "out", out); - map_set::(&vars, "heading", vm.heading.into()); - map_set::(&vars, "speed", vm.speed.into()); - map_set::(&vars, "doppler", vm.doppler.into()); - map_set(&res, "vars", js_sys::Object::from_entries(&vars)?); + vars.set(&"out".into(), &out.into()); + vars.set(&"heading".into(), &vm.heading.into()); + vars.set(&"speed".into(), &vm.speed.into()); + vars.set(&"doppler".into(), &vm.doppler.into()); + res.set(&"vars".into(), &js_sys::Object::from_entries(&vars)?.into()); Ok(js_sys::Object::from_entries(&res)?) } -- cgit v1.3