#sql #wrapper #experimental #basic #api-bindings #applications #js-httpvfs

sql-js-httpvfs-rs

一个非常实验性、基础且听起来有点荒谬的Rust封装,围绕sql.js-httpvfs

1个不稳定版本

0.0.1 2022年3月20日

#364 in #experimental

Apache-2.0

4.5MB
144

sql.js-httpvfs-rs

一个非常实验性、基础且听起来有点荒谬的Rust封装,围绕sql.js-httpvfs,用于WASM Web应用程序等。

注意:目前这不是用于任何严肃或生产用途的,只是一个快速使用wasm-bindgen调用的Rust应用程序的绑定,主要是一个实验,看看什么可能可行。

用法

将crate添加到您的Cargo.toml文件中,如下所示

[dependencies]
sql-js-httpvfs-rs = "0.0.1"

然后,在您的Rust代码中,您可以使用如下方式创建一个worker

const DB_CONFIG: &str = r#"
{
    "from": "inline",
    "config": {
        "serverMode": "full",
        "requestChunkSize": 1024,
        "url": "../databases/db.sqlite3"
    }
}
"#;

let v: serde_json::Value = serde_json::from_str(DB_CONFIG).unwrap();
let configs = vec![JsValue::from_serde(&v).unwrap()];

let worker_url = "./static/code/sqlite.worker.js";
let wasm_url = "./sql-wasm.wasm";

create_db_worker(configs, worker_url, wasm_url).await;

如果您希望使用内部捆绑的WASM和worker文件以避免捆绑东西,您可以选择启用bundled特性 - 注意这可能会对数据库的预期路径造成一些问题。

动机

这一项目的动力是出于对有趣的基于Rust的Web项目的喜爱,如opal

感谢

  • sql.js-httpvfs和phiresky最初。这只是一个围绕那个更具创新性的想法的封装。
  • 编写此封装的方法受到了Material Yew的启发。

依赖关系