@fauna-labs/fql-parser
TypeScript icon, indicating that this package has built-in type declarations

0.2.8 • Public • Published

This repository contains unofficial patterns, sample code, or tools to help developers build more effectively with Fauna. All Fauna Labs repositories are provided “as-is” and without support. By using this repository or its contents, you agree that this repository may never be officially supported and moved to the Fauna organization.

FQL parser

This is a Rust crate and NPM package that parses raw FQL queries into the wire protocol format.

Usage

Rust

To use the parser, add the following to your Cargo.toml:

[dependencies]
fql-parser = "0.2.0"

Then, in your code, import the crate:

use crate::fql_parser;

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

The se module contains the function to serialize FQL strings to JSON

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

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

The des module contains functions to deserialize JSON into special Fauna types or FQL strings

    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

TODO

Building and publishing the crate

Rust

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

NPM

make build
npm publish

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i @fauna-labs/fql-parser

      Weekly Downloads

      1

      Version

      0.2.8

      License

      MIT-0

      Unpacked Size

      1.12 MB

      Total Files

      11

      Last publish

      Collaborators

      • ptpaterson
      • shadid12
      • fauna-bot
      • cleve_