diff options
| author | Henry <mail@henrygressmann.de> | 2026-04-26 19:44:34 +0200 |
|---|---|---|
| committer | Henry <mail@henrygressmann.de> | 2026-04-26 19:44:34 +0200 |
| commit | 463a3a6f56a5ca06cda890fd6fe7f16485ef70a0 (patch) | |
| tree | bfa657a2de16c04cd36f4b6c61e77b370fcd46fc /crates/cli/src/args.rs | |
| parent | 27004a8738c7a3c32ac4fb6966f32647b4c96db7 (diff) | |
feat: new tinywasm cli
Signed-off-by: Henry <mail@henrygressmann.de>
Diffstat (limited to 'crates/cli/src/args.rs')
| -rw-r--r-- | crates/cli/src/args.rs | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/crates/cli/src/args.rs b/crates/cli/src/args.rs deleted file mode 100644 index 0333c92..0000000 --- a/crates/cli/src/args.rs +++ /dev/null @@ -1,37 +0,0 @@ -use std::str::FromStr; -use tinywasm::types::WasmValue; - -#[derive(Debug)] -pub struct WasmArg(WasmValue); - -pub fn to_wasm_args(args: Vec<WasmArg>) -> Vec<WasmValue> { - args.into_iter().map(Into::into).collect() -} - -impl From<WasmArg> for WasmValue { - fn from(value: WasmArg) -> Self { - value.0 - } -} - -impl FromStr for WasmArg { - type Err = String; - fn from_str(s: &str) -> std::prelude::v1::Result<Self, Self::Err> { - let [ty, val]: [&str; 2] = s - .split(':') - .collect::<Vec<_>>() - .try_into() - .map_err(|_e| "invalid argument format; expected type:value".to_string())?; - - let arg: WasmValue = match ty { - "i32" => val.parse::<i32>().map_err(|e| format!("invalid argument value for i32: {e:?}"))?.into(), - "i64" => val.parse::<i64>().map_err(|e| format!("invalid argument value for i64: {e:?}"))?.into(), - "f32" => val.parse::<f32>().map_err(|e| format!("invalid argument value for f32: {e:?}"))?.into(), - "f64" => val.parse::<f64>().map_err(|e| format!("invalid argument value for f64: {e:?}"))?.into(), - "v128" => val.parse::<i128>().map_err(|e| format!("invalid argument value for v128: {e:?}"))?.into(), - t => return Err(format!("invalid arg type `{t}`; expected one of i32, i64, f32, f64, v128")), - }; - - Ok(WasmArg(arg)) - } -} |
