feat: add deno_rust_wasm_qr_decode

This commit is contained in:
2022-07-03 00:34:15 +08:00
parent 713e1424f9
commit 4359817513
15 changed files with 829 additions and 1 deletions

View File

@@ -0,0 +1,19 @@
[package]
name = "rs_lib"
version = "0.0.0"
edition = "2021"
[lib]
crate_type = ["cdylib"]
[profile.release]
codegen-units = 1
incremental = true
lto = true
opt-level = "z"
[dependencies]
wasm-bindgen = "=0.2.81"
bardecoder = "0.3.0"
image = "0.23"

View File

@@ -0,0 +1,21 @@
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
pub fn decode_qr(image_bytes: &[u8]) -> String {
let img = match image::load_from_memory(image_bytes) {
Ok(img) => img,
Err(e) => return format!("ERROR:{}", e),
};
let decoder = bardecoder::default_decoder();
let results = decoder.decode(&img);
let mut r = vec![];
for result in results {
match result {
Ok(s) => r.push(vec![s, "".to_string()]),
Err(e) => r.push(vec!["".to_string(), format!("error: {}", e)]),
}
}
format!("{:?}", r)
}