| Crates.io | juniper_relay_connection |
| lib.rs | juniper_relay_connection |
| version | 0.1.1 |
| created_at | 2022-10-15 11:52:29.968005+00 |
| updated_at | 2022-10-15 11:56:19.675376+00 |
| description | Relay style pagination for Juniper. |
| homepage | |
| repository | https://github.com/dyedgreen/juniper-relay |
| max_upload_size | |
| id | 688922 |
| size | 18,124 |
Relay style pagination for Juniper.
This library provides the a RelayConnection struct, which can be returned in a Juniper GraphQL
schema and implements the relay connection interface.
#[derive(GraphQLObject)]
struct Foo {
id: i32,
}
impl RelayConnectionNode for Foo {
type Cursor = i32;
fn cursor(&self) -> Self::Cursor {
self.id
}
fn connection_type_name() -> &'static str {
"FooConnection"
}
fn edge_type_name() -> &'static str {
"FooConnectionEdge"
}
}
RelayConnection::new(first, after, last, before, |after, before, limit| {
let sql = format!("SELECT (id) FROM foo WHERE id > {after} AND id < {before} LIMIT {limit}");
let edges: Vec<Foo> = run_query(sql);
Ok(edges)
})