1 个不稳定版本
0.0.1 | 2023年4月25日 |
---|
#36 在 #npm-package
2MB
10K SLoC
npm:firebase@9
在Rust中!
这是Firebase JS SDK的Rust版本。它目前仍在开发中,处于活跃开发阶段。
为什么?
我想使用Firebase,并且100%使用Rust。因此,鉴于对JS SDK的经验,这个包试图在尽可能使用自定义HTTP实现的同时,保留JS SDK的易用性和简单性,同时让您手头拥有JavaScript的全部功能!
这个包试图保持Firebase JS SDK的相同模块化结构,同时将API转换为Rust。每个Rust函数都提供了纯JS示例
用法
(假设secrets.rs文件)
use firebase_js::{app::initialize_app, database::{get_database, on_value_changed, get_ref_of_root}};
use log::info;
use crate::secrets::URL;
mod secrets;
fn main() {
_ = console_log::init_with_level(log::Level::Debug);
console_error_panic_hook::set_once();
info!("firebase-js: main.rs()");
let app = initialize_app(&secrets::get_config()).ok().unwrap();
let db = get_database(&app, URL.to_string()).ok().unwrap();
let reference = get_ref_of_root(&db).ok().unwrap();
on_value_changed(&reference, &move |_| {
info!("RS: on_value_changed() WOW!")
})
}
工作进行中
- 测试
- [] 实际上没有测试 :(
- 应用程序
- initialize_app
- 数据库
- get_database
- get_ref
- get_ref_of_root (get_ref但针对db的根)
- on_value_changed
依赖关系
~7–9.5MB
~178K SLoC