summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2018-04-30 17:28:54 +0200
committerMatthias Beyer <mail@beyermatthias.de>2018-05-01 17:44:00 +0200
commit08114bbf36c723580292f92f8226a38343a68f64 (patch)
treecb63fd57a184d726a913df2f450b02a141c9a11e /lib
parente643f36fa3957022a2750848ac9b95051a29169e (diff)
Refactor libimagnotes to fit new store iterator interface
Diffstat (limited to 'lib')
-rw-r--r--lib/domain/libimagnotes/src/iter.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/domain/libimagnotes/src/iter.rs b/lib/domain/libimagnotes/src/iter.rs
index 263506c7..98adbbd9 100644
--- a/lib/domain/libimagnotes/src/iter.rs
+++ b/lib/domain/libimagnotes/src/iter.rs
@@ -21,6 +21,8 @@ use libimagstore::storeid::StoreId;
use libimagstore::storeid::StoreIdIterator;
use notestoreid::*;
+use error::Result;
+use error::NoteError as NE;
#[derive(Debug)]
pub struct NoteIterator(StoreIdIterator);
@@ -34,12 +36,15 @@ impl NoteIterator {
}
impl Iterator for NoteIterator {
- type Item = StoreId;
+ type Item = Result<StoreId>;
fn next(&mut self) -> Option<Self::Item> {
while let Some(n) = self.0.next() {
- if n.is_note_id() {
- return Some(n);
+ match n {
+ Ok(n) => if n.is_note_id() {
+ return Some(Ok(n));
+ },
+ Err(e) => return Some(Err(e).map_err(NE::from)),
}
}