diff --git a/libimagstore/src/store.rs b/libimagstore/src/store.rs index b3d10cfc..ad8c88e8 100644 --- a/libimagstore/src/store.rs +++ b/libimagstore/src/store.rs @@ -749,6 +749,18 @@ impl Store { Ok(()) } + /// Get _all_ entries in the store (by id as iterator) + pub fn entries(&self) -> Result { + let iter = Walk::new(self.path().clone(), "") + .filter_map(|id| match id { + StoreObject::Id(sid) => Some(sid), + _ => None + }); + + Ok(StoreIdIterator::new(Box::new(iter))) + + } + /// Gets the path where this store is on the disk pub fn path(&self) -> &PathBuf { &self.location