7 releases

✓ Uses Rust 2018 edition

new 0.0.7 Jun 13, 2019
0.0.6 Jun 13, 2019

#107 in Database interfaces

23 downloads per month

Apache-2.0

227KB
6K SLoC

FaunaDB Rust Client

FaunaDB offers an asynchronous (and synchronous) client for communicating with the Fauna database.

Goals:

  • Typesafe
  • Allocating only when really needed
  • Asynchronous using futures (and Tokio)

The crate is not yet tested on production so use at your own risk.

Basic Usage

use faunadb::prelude::*;
use tokio;
use futures::{future::lazy, Future};

fn main() {
    let client = ClientBuilder::new("put-your-secret-here").build().unwrap();
    let params = DatabaseParams::new("my-first-database");

    tokio::run(lazy(move || {
        client
            .query(CreateDatabase::new(params))
            .map(|response| {
                let res = response.resource;
                assert_eq!(Some("my-first-database"), res["name"].as_str())
            })
            .map_err(|error: faunadb::error::Error| {
                println!("Error: {:?}", error);
            })
    }));
}

Testing

For tests to be successful, one must have the default Fauna Docker image, using the default password secret.

Run the tests with:

cargo test

License

The faunadb-rust crate is licensed under the Apache 2.0

Dependencies

~6.5MB
~123K SLoC