//! object Operation trait for the object module (object access on bare repositories based on gix). use gix::hash::ObjectId; use crate::object::types::{ObjectFormat, ObjectInfo, ObjectType, WriteObjectResult}; /// Operation trait for the object module. pub trait ObjectOps { fn object_format(&self) -> Result; fn object_exists(&self, id: &ObjectId) -> Result; fn object_type_of(&self, id: &ObjectId) -> Result; fn object_size_of(&self, id: &ObjectId) -> Result; fn object_info(&self, id: &ObjectId) -> Result; fn object_write_object( &self, kind: ObjectType, data: &[u8], ) -> Result; }