From 6d67e403bc62b18f311793d5b151e1fad7e29648 Mon Sep 17 00:00:00 2001 From: Paul Woolcock Date: Sun, 5 Aug 2018 11:20:48 -0400 Subject: [PATCH] Don't expose pageiter module, and add some docs to PageIter --- src/entities/mod.rs | 2 +- src/entities/pageiter.rs | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/entities/mod.rs b/src/entities/mod.rs index e45057c..80ddc51 100644 --- a/src/entities/mod.rs +++ b/src/entities/mod.rs @@ -6,7 +6,7 @@ pub mod instance; pub mod list; pub mod mention; pub mod notification; -pub mod pageiter; +mod pageiter; pub mod relationship; pub mod report; pub mod search_result; diff --git a/src/entities/pageiter.rs b/src/entities/pageiter.rs index 52c92dc..5a61f7e 100644 --- a/src/entities/pageiter.rs +++ b/src/entities/pageiter.rs @@ -29,6 +29,17 @@ into_pageiter!(Notification); into_pageiter!(Report); into_pageiter!(Relationship); +/// Abstracts away the `next_page` logic into a single stream of items +/// +/// ```ignore +/// # extern crate mammut +/// # use mammut::Mastodon; +/// let client = Mastodon::from_data(data); +/// let statuses = client.statuses("user-id", None); +/// for status in statuses.into_iter() { +/// // do something with `status` +/// } +/// ``` pub struct PageIter<'a, T: Clone + for<'de> Deserialize<'de>> { page: Page<'a, T>, buffer: Vec,