All Projects → prisma → faunadb-rust

prisma / faunadb-rust

Licence: Apache-2.0 License
FaundaDB client for Rust

Programming Languages

rust
11053 projects

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 = Client::builder("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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].