2 个版本
0.1.1 | 2022年10月15日 |
---|---|
0.1.0 | 2022年10月15日 |
#17 在 #juniper
18KB
348 行
Juniper Relay 连接
Juniper 的 Relay 风格分页。
这个库提供了一个名为 RelayConnection
的结构体,它可以返回到 Juniper GraphQL 模式,并实现了 relay 连接接口。
示例
#[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)
})
依赖关系
~10MB
~217K SLoC