dailp

Struct Database

source
pub struct Database { /* private fields */ }
Expand description

Connects to our backing database instance, providing high level functions for accessing the data therein.

Implementations§

source§

impl Database

source

pub async fn genre_for_document( &self, doc_id: Uuid, ) -> Result<Option<Genre>, Error>

source

pub async fn format_for_document( &self, doc_id: Uuid, ) -> Result<Option<Format>, Error>

source

pub async fn keywords_for_documents( &self, doc_ids: Vec<Uuid>, ) -> Result<HashMap<Uuid, Vec<Keyword>>, Error>

source

pub async fn languages_for_documents( &self, doc_ids: Vec<Uuid>, ) -> Result<HashMap<Uuid, Vec<Language>>, Error>

source

pub async fn subject_headings_for_documents( &self, doc_ids: Vec<Uuid>, ) -> Result<HashMap<Uuid, Vec<SubjectHeading>>, Error>

source

pub async fn spatial_coverage_for_documents( &self, doc_ids: Vec<Uuid>, ) -> Result<HashMap<Uuid, Vec<SpatialCoverage>>, Error>

source

pub async fn creators_for_documents( &self, doc_ids: Vec<Uuid>, ) -> Result<HashMap<Uuid, Vec<Creator>>, Error>

source

pub async fn creators_for_document( &self, doc_id: Uuid, ) -> Result<Vec<Creator>, Error>

source

pub async fn keywords_for_document( &self, doc_id: Uuid, ) -> Result<Vec<Keyword>, Error>

source

pub async fn languages_for_document( &self, doc_id: Uuid, ) -> Result<Vec<Language>, Error>

source

pub async fn subject_headings_for_document( &self, doc_id: Uuid, ) -> Result<Vec<SubjectHeading>, Error>

source

pub async fn spatial_coverage_for_document( &self, doc_id: Uuid, ) -> Result<Vec<SpatialCoverage>, Error>

source

pub fn connect(num_connections: Option<u32>) -> Result<Self>

source

pub async fn comment_by_id(&self, comment_id: &Uuid) -> Result<Comment>

Get a specific comment by id

source

pub async fn comments_by_parent( &self, parent_id: &Uuid, parent_type: &CommentParentType, ) -> Result<Vec<Comment>>

Get all comments on a given object

source

pub async fn insert_comment( &self, posted_by: &Uuid, text_content: String, parent_id: &Uuid, parent_type: &CommentParentType, comment_type: &Option<CommentType>, ) -> Result<Uuid>

Insert a new comment into the database

source

pub async fn delete_comment(&self, comment_id: &Uuid) -> Result<Uuid>

Delete a comment from the database

source

pub async fn paragraph_by_id( &self, paragraph_id: &Uuid, ) -> Result<DocumentParagraph>

source

pub async fn word_by_id(&self, word_id: &Uuid) -> Result<AnnotatedForm>

source

pub async fn upsert_contributor(&self, person: ContributorDetails) -> Result<()>

source

pub async fn potential_syllabary_matches( &self, syllabary: &str, ) -> Result<Vec<AnnotatedForm>>

source

pub async fn connected_forms( &self, document_id: Option<DocumentId>, gloss: &str, ) -> Result<Vec<AnnotatedForm>>

source

pub async fn morphemes( &self, morpheme_id: MorphemeId, _compare_by: Option<CherokeeOrthography>, ) -> Result<Vec<MorphemeReference>>

source

pub async fn word_contributor_audio( &self, word_id: &Uuid, ) -> Result<Vec<AudioSlice>>

source

pub async fn document_contributor_audio( &self, document_id: &Uuid, ) -> Result<Vec<AudioSlice>>

source

pub async fn words_by_doc( &self, document_id: Option<DocumentId>, gloss: &str, ) -> Result<Vec<WordsInDocument>>

source

pub async fn all_documents(&self) -> Result<Vec<AnnotatedDoc>>

source

pub async fn upsert_image_source(&self, title: &str, url: &str) -> Result<Uuid>

source

pub async fn image_source_by_title( &self, title: &str, ) -> Result<Option<ImageSource>>

source

pub async fn image_source_by_id( &self, id: ImageSourceId, ) -> Result<Option<ImageSource>>

source

pub async fn upsert_collection( &self, collection: &EditedCollection, ) -> Result<String>

source

pub async fn insert_all_chapters( &self, chapters: Vec<CollectionChapter>, slug: String, ) -> Result<String>

source

pub async fn document_manifest( &self, _document_name: &str, url: String, ) -> Result<Manifest>

source

pub async fn all_tags( &self, system: CherokeeOrthography, ) -> Result<Vec<MorphemeTag>>

source

pub async fn search_words_any_field( &self, query: String, ) -> Result<Vec<AnnotatedForm>>

source

pub async fn top_collections(&self) -> Result<Vec<DocumentCollection>>

source

pub async fn all_edited_collections(&self) -> Result<Vec<EditedCollection>>

source

pub async fn upsert_dailp_user(&self, user_id: Uuid) -> Result<Uuid>

Ensure that a user exists in the database user_id should be a congnito sub claim

source

pub async fn update_dailp_user(&self, user: UserUpdate) -> Result<Uuid>

source

pub async fn dailp_user_by_id(&self, user_id: &Uuid) -> Result<User>

source

pub async fn update_annotation(&self, _annote: Annotation) -> Result<()>

source

pub async fn update_word(&self, word: AnnotatedFormUpdate) -> Result<Uuid>

source

pub async fn add_bookmark( &self, document_id: Uuid, user_id: Uuid, ) -> Result<String>

source

pub async fn remove_bookmark( &self, document_id: Uuid, user_id: Uuid, ) -> Result<String>

source

pub async fn all_users(&self) -> Result<Vec<User>>

source

pub async fn bookmarked_documents(&self, user_id: &Uuid) -> Result<Vec<Uuid>>

source

pub async fn get_document_bookmarked_on( &self, document_id: &Uuid, user_id: &Uuid, ) -> Result<Option<Date>>

source

pub async fn attach_audio_to_word( &self, upload: &AttachAudioToWordInput, contributor_id: &Uuid, ) -> Result<Uuid>

This does two things:

  1. Create a media slice if one does not exist for the provided audio recording.
  2. Add a join table entry attaching that media slice to the specified word.

Returns the id of the upserted media slice

source

pub async fn attach_audio_to_document( &self, upload: &AttachAudioToDocumentInput, contributor_id: &Uuid, ) -> Result<Uuid>

As above in attach_audio_to_word: Creates media slice if doesn’t yet exist for provided audio recording. Adds join table entry attaching media slice to document. Returns id of upserted media slice.

source

pub async fn update_word_audio_visibility( &self, word_id: &Uuid, audio_slice_id: &Uuid, include_in_edited_collection: bool, editor_id: &Uuid, ) -> Result<Option<Uuid>>

Update if a piece of word audio will be shown to readers Will return None if the word and audio assocation could not be found, otherwise word id.

source

pub async fn update_document_audio_visibility( &self, document_id: &Uuid, audio_slice_id: &Uuid, include_in_edited_collection: bool, editor_id: &Uuid, ) -> Result<Option<Uuid>>

Update if a piece of document audio will be shown to readers Will return None if the document and audio assocation could not be found, otherwise document id.

source

pub async fn update_document_metadata( &self, document: DocumentMetadataUpdate, ) -> Result<Uuid>

source

pub async fn update_paragraph( &self, paragraph: ParagraphUpdate, ) -> Result<DocumentParagraph>

source

pub async fn update_comment( &self, comment: CommentUpdate, ) -> Result<Uuid, Error>

source

pub async fn update_contributor_attribution( &self, contribution: UpdateContributorAttribution, ) -> Result<Uuid>

source

pub async fn delete_contributor_attribution( &self, contribution: DeleteContributorAttribution, ) -> Result<Uuid>

source

pub async fn all_pages(&self) -> Result<Vec<Page>>

source

pub async fn update_page(&self, _page: Page) -> Result<()>

source

pub async fn words_in_document( &self, document_id: DocumentId, start: Option<i64>, end: Option<i64>, ) -> Result<impl Iterator<Item = AnnotatedForm>>

source

pub async fn count_words_in_document( &self, document_id: DocumentId, ) -> Result<i64>

source

pub async fn documents_in_collection( &self, _super_collection: &str, collection: &str, ) -> Result<Vec<DocumentReference>>

source

pub async fn insert_top_collection( &self, title: String, _index: i64, ) -> Result<Uuid>

source

pub async fn insert_dictionary_document( &self, document: &DocumentMetadata, ) -> Result<DocumentId>

source

pub async fn insert_document( &self, meta: &DocumentMetadata, collection_id: Uuid, index_in_collection: i64, ) -> Result<DocumentId>

source

pub async fn insert_document_contents( &self, document: AnnotatedDoc, ) -> Result<()>

source

pub async fn insert_edited_collection( &self, collection: CreateEditedCollectionInput, ) -> Result<Uuid>

source

pub async fn document_breadcrumbs( &self, document_id: DocumentId, _super_collection: &str, ) -> Result<Vec<DocumentCollection>>

source

pub async fn chapter_breadcrumbs( &self, path: Vec<String>, ) -> Result<Vec<DocumentCollection>>

source

pub async fn insert_one_word(&self, form: AnnotatedForm) -> Result<()>

source

pub async fn insert_lexical_entries( &self, document_id: DocumentId, stems: Vec<AnnotatedForm>, surface_forms: Vec<AnnotatedForm>, ) -> Result<()>

source

pub async fn only_insert_words( &self, document_id: DocumentId, forms: Vec<AnnotatedForm>, ) -> Result<()>

source

pub async fn insert_lexical_words<'a>( &self, tx: &mut Transaction<'a, Postgres>, forms: Vec<AnnotatedForm>, ) -> Result<()>

source

pub async fn insert_word<'a>( &self, tx: &mut Transaction<'a, Postgres>, form: AnnotatedForm, document_id: Uuid, page_id: Option<Uuid>, char_range: Option<PgRange<i64>>, ) -> Result<Uuid>

This is only used for

source

pub async fn insert_morpheme_system( &self, short_name: String, title: String, ) -> Result<Uuid>

source

pub async fn insert_abstract_tag(&self, tag: AbstractMorphemeTag) -> Result<()>

source

pub async fn insert_custom_abstract_tag( &self, tag: AbstractMorphemeTag, ) -> Result<Uuid>

source

pub async fn insert_custom_morpheme_tag( &self, form: MorphemeTag, system_id: Uuid, ) -> Result<()>

source

pub async fn insert_morpheme_tag( &self, form: MorphemeTag, system_id: Uuid, ) -> Result<()>

source

pub async fn document_id_from_name( &self, short_name: &str, ) -> Result<Option<DocumentId>>

source

pub async fn insert_morpheme_relations( &self, links: Vec<LexicalConnection>, ) -> Result<()>

source

pub async fn collection(&self, slug: String) -> Result<DocumentCollection>

source

pub async fn document_group_id_by_slug( &self, slug: &str, ) -> Result<Option<Uuid>>

source

pub async fn collection_slug_by_id( &self, collection_id: Uuid, ) -> Result<Option<String>>

Get collection slug by collection ID

source

pub async fn chapter( &self, collection_slug: String, chapter_slug: String, ) -> Result<Option<CollectionChapter>>

source

pub async fn chapters_by_document( &self, document_slug: String, ) -> Result<Option<Vec<CollectionChapter>>>

source

pub async fn insert_chapter_contributor_attribution( &self, chapter_id: &Uuid, contributor_id: &Uuid, contribution_role: &str, ) -> Result<()>

Insert a contributor attribution for a chapter

source

pub async fn insert_document_into_edited_collection( &self, document: AnnotatedDoc, collection_id: Uuid, ) -> Result<(DocumentId, Uuid)>

Insert a document into an edited collection and create a new chapter for it Returns (document_id, chapter_id) dennis todo : please clean this up

source

pub async fn abbreviation_id_from_short_name( &self, short_name: &str, ) -> Result<Uuid>

source

pub async fn upsert_page(&self, input: NewPageInput) -> Result<String>

source

pub async fn page_by_path(&self, path: &str) -> Result<Option<Page>>

source

pub async fn get_menu_by_slug(&self, slug: String) -> Result<Menu>

source

pub async fn update_menu(&self, menu: MenuUpdate) -> Result<Menu>

source

pub async fn insert_menu(&self, menu: Menu) -> Result<()>

Trait Implementations§

source§

impl Loader<ChaptersInCollection> for Database

source§

type Value = Vec<CollectionChapter>

type of value.
source§

type Error = Arc<Error>

Type of error.
source§

fn load<'life0, 'life1, 'async_trait>( &'life0 self, keys: &'life1 [ChaptersInCollection], ) -> Pin<Box<dyn Future<Output = Result<HashMap<ChaptersInCollection, Self::Value>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load the data set specified by the keys.
source§

impl Loader<ContributorsForDocument> for Database

source§

type Value = Vec<Contributor>

type of value.
source§

type Error = Arc<Error>

Type of error.
source§

fn load<'life0, 'life1, 'async_trait>( &'life0 self, keys: &'life1 [ContributorsForDocument], ) -> Pin<Box<dyn Future<Output = Result<HashMap<ContributorsForDocument, Self::Value>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load the data set specified by the keys.
source§

impl Loader<CreatorsForDocument> for Database

source§

type Value = Vec<Creator>

type of value.
source§

type Error = Arc<Error>

Type of error.
source§

fn load<'life0, 'life1, 'async_trait>( &'life0 self, keys: &'life1 [CreatorsForDocument], ) -> Pin<Box<dyn Future<Output = Result<HashMap<CreatorsForDocument, Self::Value>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load the data set specified by the keys.
source§

impl Loader<DocumentId> for Database

source§

type Value = AnnotatedDoc

type of value.
source§

type Error = Arc<Error>

Type of error.
source§

fn load<'life0, 'life1, 'async_trait>( &'life0 self, keys: &'life1 [DocumentId], ) -> Pin<Box<dyn Future<Output = Result<HashMap<DocumentId, Self::Value>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load the data set specified by the keys.
source§

impl Loader<DocumentShortName> for Database

source§

type Value = AnnotatedDoc

type of value.
source§

type Error = Arc<Error>

Type of error.
source§

fn load<'life0, 'life1, 'async_trait>( &'life0 self, keys: &'life1 [DocumentShortName], ) -> Pin<Box<dyn Future<Output = Result<HashMap<DocumentShortName, Self::Value>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load the data set specified by the keys.
source§

impl Loader<EditedCollectionDetails> for Database

source§

type Value = EditedCollection

type of value.
source§

type Error = Arc<Error>

Type of error.
source§

fn load<'life0, 'life1, 'async_trait>( &'life0 self, keys: &'life1 [EditedCollectionDetails], ) -> Pin<Box<dyn Future<Output = Result<HashMap<EditedCollectionDetails, Self::Value>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load the data set specified by the keys.
source§

impl Loader<ImageSourceId> for Database

source§

type Value = ImageSource

type of value.
source§

type Error = Arc<Error>

Type of error.
source§

fn load<'life0, 'life1, 'async_trait>( &'life0 self, keys: &'life1 [ImageSourceId], ) -> Pin<Box<dyn Future<Output = Result<HashMap<ImageSourceId, Self::Value>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load the data set specified by the keys.
source§

impl Loader<KeywordsForDocument> for Database

source§

type Value = Vec<Keyword>

type of value.
source§

type Error = Arc<Error>

Type of error.
source§

fn load<'life0, 'life1, 'async_trait>( &'life0 self, keys: &'life1 [KeywordsForDocument], ) -> Pin<Box<dyn Future<Output = Result<HashMap<KeywordsForDocument, Self::Value>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load the data set specified by the keys.
source§

impl Loader<LanguagesForDocument> for Database

source§

type Value = Vec<Language>

type of value.
source§

type Error = Arc<Error>

Type of error.
source§

fn load<'life0, 'life1, 'async_trait>( &'life0 self, keys: &'life1 [LanguagesForDocument], ) -> Pin<Box<dyn Future<Output = Result<HashMap<LanguagesForDocument, Self::Value>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load the data set specified by the keys.
source§

impl Loader<PageId> for Database

source§

type Value = Page

type of value.
source§

type Error = Arc<Error>

Type of error.
source§

fn load<'life0, 'life1, 'async_trait>( &'life0 self, _keys: &'life1 [PageId], ) -> Pin<Box<dyn Future<Output = Result<HashMap<PageId, Self::Value>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load the data set specified by the keys.
source§

impl Loader<PagesInDocument> for Database

source§

type Value = Vec<DocumentPage>

type of value.
source§

type Error = Arc<Error>

Type of error.
source§

fn load<'life0, 'life1, 'async_trait>( &'life0 self, keys: &'life1 [PagesInDocument], ) -> Pin<Box<dyn Future<Output = Result<HashMap<PagesInDocument, Self::Value>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load the data set specified by the keys.
source§

impl Loader<ParagraphsInPage> for Database

source§

type Value = Vec<DocumentParagraph>

type of value.
source§

type Error = Arc<Error>

Type of error.
source§

fn load<'life0, 'life1, 'async_trait>( &'life0 self, keys: &'life1 [ParagraphsInPage], ) -> Pin<Box<dyn Future<Output = Result<HashMap<ParagraphsInPage, Self::Value>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load the data set specified by the keys.
source§

impl Loader<PartsOfWord> for Database

source§

type Value = Vec<WordSegment>

type of value.
source§

type Error = Arc<Error>

Type of error.
source§

fn load<'life0, 'life1, 'async_trait>( &'life0 self, keys: &'life1 [PartsOfWord], ) -> Pin<Box<dyn Future<Output = Result<HashMap<PartsOfWord, Self::Value>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load the data set specified by the keys.
source§

impl Loader<PersonFullName> for Database

source§

type Value = ContributorDetails

type of value.
source§

type Error = Arc<Error>

Type of error.
source§

fn load<'life0, 'life1, 'async_trait>( &'life0 self, keys: &'life1 [PersonFullName], ) -> Pin<Box<dyn Future<Output = Result<HashMap<PersonFullName, Self::Value>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load the data set specified by the keys.
source§

impl Loader<SpatialCoverageForDocument> for Database

source§

type Value = Vec<SpatialCoverage>

type of value.
source§

type Error = Arc<Error>

Type of error.
source§

fn load<'life0, 'life1, 'async_trait>( &'life0 self, keys: &'life1 [SpatialCoverageForDocument], ) -> Pin<Box<dyn Future<Output = Result<HashMap<SpatialCoverageForDocument, Self::Value>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load the data set specified by the keys.
source§

impl Loader<SubjectHeadingsForDocument> for Database

source§

type Value = Vec<SubjectHeading>

type of value.
source§

type Error = Arc<Error>

Type of error.
source§

fn load<'life0, 'life1, 'async_trait>( &'life0 self, keys: &'life1 [SubjectHeadingsForDocument], ) -> Pin<Box<dyn Future<Output = Result<HashMap<SubjectHeadingsForDocument, Self::Value>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load the data set specified by the keys.
source§

impl Loader<TagForMorpheme> for Database

source§

type Value = MorphemeTag

type of value.
source§

type Error = Arc<Error>

Type of error.
source§

fn load<'life0, 'life1, 'async_trait>( &'life0 self, keys: &'life1 [TagForMorpheme], ) -> Pin<Box<dyn Future<Output = Result<HashMap<TagForMorpheme, Self::Value>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load the data set specified by the keys.
source§

impl Loader<TagId> for Database

source§

type Value = Vec<MorphemeTag>

type of value.
source§

type Error = Arc<Error>

Type of error.
source§

fn load<'life0, 'life1, 'async_trait>( &'life0 self, keys: &'life1 [TagId], ) -> Pin<Box<dyn Future<Output = Result<HashMap<TagId, Self::Value>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load the data set specified by the keys.
source§

impl Loader<WordsInParagraph> for Database

source§

type Value = Vec<AnnotatedSeg>

type of value.
source§

type Error = Arc<Error>

Type of error.
source§

fn load<'life0, 'life1, 'async_trait>( &'life0 self, keys: &'life1 [WordsInParagraph], ) -> Pin<Box<dyn Future<Output = Result<HashMap<WordsInParagraph, Self::Value>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load the data set specified by the keys.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into a target type. Read more
§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> Pipe for T
where T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
§

impl<T> Pipe for T

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R

Pipes a value into a function that cannot ordinarily be called in suffix position. Read more
§

impl<T> PipeAsRef for T

§

fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: AsRef<T>, T: 'a, R: 'a,

Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more
§

fn pipe_as_mut<'a, T, R>(&'a mut self, func: impl FnOnce(&'a mut T) -> R) -> R
where Self: AsMut<T>, T: 'a, R: 'a,

Pipes a trait mutable borrow into a function that cannot normally be called in suffix position. Read more
§

impl<T> PipeBorrow for T

§

fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Borrow<T>, T: 'a, R: 'a,

Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more
§

fn pipe_borrow_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: BorrowMut<T>, T: 'a, R: 'a,

Pipes a trait mutable borrow into a function that cannot normally be called in suffix position. Read more
§

impl<T> PipeDeref for T

§

fn pipe_deref<'a, R>(&'a self, func: impl FnOnce(&'a Self::Target) -> R) -> R
where Self: Deref, R: 'a,

Pipes a dereference into a function that cannot normally be called in suffix position. Read more
§

fn pipe_deref_mut<'a, R>( &'a mut self, func: impl FnOnce(&'a mut Self::Target) -> R, ) -> R
where Self: DerefMut, R: 'a,

Pipes a mutable dereference into a function that cannot normally be called in suffix position. Read more
§

impl<T> PipeRef for T

§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Pipes a reference into a function that cannot ordinarily be called in suffix position. Read more
§

fn pipe_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Pipes a mutable reference into a function that cannot ordinarily be called in suffix position. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> Tap for T

§

fn tap<F, R>(self, func: F) -> Self
where F: FnOnce(&Self) -> R,

Provides immutable access for inspection. Read more
§

fn tap_dbg<F, R>(self, func: F) -> Self
where F: FnOnce(&Self) -> R,

Calls tap in debug builds, and does nothing in release builds.
§

fn tap_mut<F, R>(self, func: F) -> Self
where F: FnOnce(&mut Self) -> R,

Provides mutable access for modification. Read more
§

fn tap_mut_dbg<F, R>(self, func: F) -> Self
where F: FnOnce(&mut Self) -> R,

Calls tap_mut in debug builds, and does nothing in release builds.
§

impl<T, U> TapAsRef<U> for T
where U: ?Sized,

§

fn tap_ref<F, R>(self, func: F) -> Self
where Self: AsRef<T>, F: FnOnce(&T) -> R,

Provides immutable access to the reference for inspection.
§

fn tap_ref_dbg<F, R>(self, func: F) -> Self
where Self: AsRef<T>, F: FnOnce(&T) -> R,

Calls tap_ref in debug builds, and does nothing in release builds.
§

fn tap_ref_mut<F, R>(self, func: F) -> Self
where Self: AsMut<T>, F: FnOnce(&mut T) -> R,

Provides mutable access to the reference for modification.
§

fn tap_ref_mut_dbg<F, R>(self, func: F) -> Self
where Self: AsMut<T>, F: FnOnce(&mut T) -> R,

Calls tap_ref_mut in debug builds, and does nothing in release builds.
§

impl<T, U> TapBorrow<U> for T
where U: ?Sized,

§

fn tap_borrow<F, R>(self, func: F) -> Self
where Self: Borrow<T>, F: FnOnce(&T) -> R,

Provides immutable access to the borrow for inspection. Read more
§

fn tap_borrow_dbg<F, R>(self, func: F) -> Self
where Self: Borrow<T>, F: FnOnce(&T) -> R,

Calls tap_borrow in debug builds, and does nothing in release builds.
§

fn tap_borrow_mut<F, R>(self, func: F) -> Self
where Self: BorrowMut<T>, F: FnOnce(&mut T) -> R,

Provides mutable access to the borrow for modification.
§

fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Self
where Self: BorrowMut<T>, F: FnOnce(&mut T) -> R,

Calls tap_borrow_mut in debug builds, and does nothing in release builds.
§

impl<T> TapDeref for T

§

fn tap_deref<F, R>(self, func: F) -> Self
where Self: Deref, F: FnOnce(&Self::Target) -> R,

Immutably dereferences self for inspection.
§

fn tap_deref_dbg<F, R>(self, func: F) -> Self
where Self: Deref, F: FnOnce(&Self::Target) -> R,

Calls tap_deref in debug builds, and does nothing in release builds.
§

fn tap_deref_mut<F, R>(self, func: F) -> Self
where Self: DerefMut, F: FnOnce(&mut Self::Target) -> R,

Mutably dereferences self for modification.
§

fn tap_deref_mut_dbg<F, R>(self, func: F) -> Self
where Self: DerefMut, F: FnOnce(&mut Self::Target) -> R,

Calls tap_deref_mut in debug builds, and does nothing in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into a target type. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T