Struct thfmr_util::graphql::Cursor [−][src]
Expand description
A cursor implementation for use with GraphQL, implements async_graphql::connection::CursorType.
The Cursor consists of a prefix and a ID part. The prefix specifies what kind of object it refers to and the ID specifies which specific object it refers to.
let cursor = Cursor::new("Album", 1); assert_eq!(cursor.encode_cursor(), "QWxidW06MQ=="); // Album:1
Implementations
impl<T> Cursor<T> where
T: FromStr + ToString + Clone,
[src]
impl<T> Cursor<T> where
T: FromStr + ToString + Clone,
[src]pub fn new(prefix: &str, value: T) -> Cursor<T>
[src]
pub fn new(prefix: &str, value: T) -> Cursor<T>
[src]Create a new Cursor with the given prefix and value.
This can be used by server implementations to create the appropriate cursor.
pub fn into_prefix(self, prefix: &str) -> Result<T, CursorError>
[src]
pub fn into_prefix(self, prefix: &str) -> Result<T, CursorError>
[src]Deconstruct this cursor into the appropriate ID when its prefix matches.
This function can be used by the server to extract the contained ID. It returns Error when the cursor does not have the specified prefix.
let cursor = Cursor::new("MyPrefix", 10); assert_eq!(cursor.into_prefix("MyPrefix"), Ok(10)); assert_eq!(cursor.into_prefix("OtherPrefix"), Err(CursorError::InvalidIdentifier));
Trait Implementations
impl<T: FromStr + ToString> CursorType for Cursor<T>
[src]
impl<T: FromStr + ToString> CursorType for Cursor<T>
[src]Implementation for async_graphql cursors
fn decode_cursor(s: &str) -> Result<Self, Self::Error>
[src]
fn decode_cursor(s: &str) -> Result<Self, Self::Error>
[src]Decode the GraphQL input string into a Cursor
fn encode_cursor(&self) -> String
[src]
fn encode_cursor(&self) -> String
[src]Encode the Cursor to a string for use in the GraphQL answer
type Error = CursorError
type Error = CursorError
Error type for decode_cursor
.
Auto Trait Implementations
impl<T> RefUnwindSafe for Cursor<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for Cursor<T> where
T: Send,
T: Send,
impl<T> Sync for Cursor<T> where
T: Sync,
T: Sync,
impl<T> Unpin for Cursor<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for Cursor<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,