@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

Readme

Keywords

Package Sidebar

Install

npm i @fauna-labs/fql-parser

Weekly Downloads

0

Version

0.2.8

License

MIT-0

Unpacked Size

1.12 MB

Total Files

11

Last publish

Collaborators

  • ptpaterson
  • shadid12
  • fauna-bot
  • cleve_