14 个版本

0.2.8 2022 年 7 月 19 日
0.2.7 2022 年 7 月 19 日
0.1.8 2022 年 4 月 19 日
0.1.7 2022 年 3 月 3 日
0.1.6 2022 年 2 月 18 日

2107数据库接口

34 每月下载量
fauna 中使用

MIT-0 许可

115KB
3.5K SLoC

此存储库包含非官方的模式、示例代码或工具,以帮助开发者更有效地使用 Fauna。所有 Fauna Labs 存储库均以“原样”提供,且不提供支持。通过使用此存储库或其内容,您同意此存储库可能永远不会得到官方支持,也不会移至 Fauna 组织

FQL 解析器

这是一个 Rust crate 和 NPM 包,可以将原始 FQL 查询解析为网络协议格式。

用法

Rust

要使用解析器,请将以下内容添加到您的 Cargo.toml

[dependencies]
fql-parser = "0.2.0"

然后,在您的代码中导入该 crate

use crate::fql_parser;

fn main() {
  /* ... */
}

se 模块包含将 FQL 字符串序列化为 JSON 的函数

    let fql = "Add(2, 2)";
    let json = fql_parser::se::serialize_fql_query(fql);

    println!("{}", json);
{"add":[2,2]}

des 模块包含将 JSON 反序列化为特殊 Fauna 类型或 FQL 字符串的函数

    let json = r#"{
      "@ref": {
        "id":"101",
        "collection": {
          "@ref":{ 
            "id": "things",
            "collection": {
              "@ref": { "id": "collections"}
            }
          }
        }
      }
    }"#;

    let fql = fql_parser::des::to_fql_string(json);

    println!("{}", fql);
Ref(Collection("things"),"101")

JavaScript/TypeScript

待办事项

构建和发布 crate

Rust

cargo build
# Publish to https://crates.io/crates/fql-parser
cargo publish

NPM

make build
npm publish

依赖关系

~7MB
~135K SLoC