diff options
| author | Brian Cully <bjc@spork.org> | 2025-12-18 18:14:35 -0500 |
|---|---|---|
| committer | Brian Cully <bjc@spork.org> | 2025-12-18 18:14:35 -0500 |
| commit | 62f9d83b6ae7b62fb5606fbfd47c4332a2a2d3e6 (patch) | |
| tree | 19d93696c3bb88853b229391b0389fd0d06d5f8f | |
| parent | b645f4850b7de48e1f4716eb36400e2a9f95cc0d (diff) | |
| download | automathon-62f9d83b6ae7b62fb5606fbfd47c4332a2a2d3e6.tar.gz automathon-62f9d83b6ae7b62fb5606fbfd47c4332a2a2d3e6.zip | |
rust: remove map_set
| -rwxr-xr-x | src/lib.rs | 26 |
1 files changed, 10 insertions, 16 deletions
@@ -34,12 +34,6 @@ fn tr_op(op: &forth::vm::OpCode) -> String { s.to_string() } -fn map_set<T: Into::<JsValue>>(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::<JsValue>::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::<isize>(&vars, "heading", vm.heading.into()); - map_set::<isize>(&vars, "speed", vm.speed.into()); - map_set::<isize>(&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)?) } |
