7 releases (4 breaking)

0.4.0 Nov 17, 2023
0.3.0 Jul 25, 2023
0.2.2 Jun 30, 2023
0.1.0 Jun 28, 2023
0.0.1 Jun 28, 2023

#1264 in Database interfaces

Download history 14/week @ 2024-02-25 23/week @ 2024-03-31 176/week @ 2024-04-14

199 downloads per month

Apache-2.0

190KB
4K SLoC

Rust 3K SLoC // 0.0% comments GraphQL 1K SLoC // 0.0% comments

trustfall_stubgen

Given a Trustfall schema, autogenerate a high-quality Rust adapter stub fully wired up with all types, properties, and edges referenced in the schema.

First, install the CLI with: cargo install --locked trustfall_stubgen Then generate Trustfall adapter stubs for your schema with:

trustfall_stubgen --schema <your_schema.graphql> --target <output_directory>

Under the hood this directly calls the generate_rust_stub() function from this crate. This crate can also be used as a library, so you can call that function directly from your own code without going through the CLI.

The generated Trustfall adapter stub has the following structure:

file name purpose
adapter/mod.rs connects everything together
adapter/schema.graphql contains the schema for the adapter
adapter/adapter.rs contains the adapter implementation
adapter/vertex.rs contains the vertex type definition
adapter/entrypoints.rs contains the entry points where all queries must start
adapter/properties.rs contains the property implementations
adapter/edges.rs contains the edge implementations
adapter/tests.rs contains test code

See an example of a generated adapter stub from this crate's test suite.

Dependencies

~13MB
~295K SLoC