wasm-tensorflow-tfjs-core 0.1.1

Rust WASM Bindings for the npm package `@tensorflow/tfjs-core`
Documentation
use wasm_bindgen::JsValue;
use wasm_bindgen_futures::{js_sys::Promise, JsFuture};

mod bindings;

pub enum BackendName {
    Webgl,
    Cpu,
    Tensorflow,
}

impl ToString for BackendName {
    fn to_string(&self) -> String {
        match self {
            BackendName::Cpu => "cpu",
            BackendName::Webgl => "webgl",
            BackendName::Tensorflow => "tensorflow",
        }
        .into()
    }
}

pub async fn set_backend(backend_name: BackendName) -> Result<bool, JsValue> {
    let result = JsFuture::from(Promise::from(bindings::set_backend(
        &backend_name.to_string(),
    )))
    .await?
    .as_bool()
    .unwrap();
    Ok(result)
}