#![cfg_attr(
test,
allow(
clippy::unwrap_used,
clippy::expect_used,
clippy::indexing_slicing,
clippy::shadow_unrelated,
clippy::let_underscore_must_use,
clippy::format_push_string
)
)]
#[cfg(unix)]
#[cfg_attr(docsrs, doc(cfg(unix)))]
pub(crate) mod anchored_fs;
mod key;
mod local;
mod local_fs;
pub(crate) mod local_path;
mod object;
#[cfg(feature = "s3")]
mod s3;
mod store;
#[cfg(unix)]
pub use anchored_fs::{
AnchoredPathOptions, AnchoredTarget, ensure_parent_path_matches_anchor, fd_child_path,
open_anchored_target, open_directory_chain, open_new_file, remove_at, remove_if_present,
rename_at, temporary_file_name, write_anchored_temporary_file,
};
pub use key::{ObjectKey, ObjectKeyError, ObjectPrefix, ObjectPrefixError};
pub use local::{LocalObjectStore, LocalObjectStoreError};
pub use local_path::{
DirectoryPathError, ensure_directory_path_components_are_not_symlinked,
resolve_platform_symlinks,
};
pub use object::{DeleteOutcome, ObjectBody, ObjectIntegrity, ObjectMetadata, PutOutcome};
#[cfg(feature = "s3")]
pub use s3::{
BeginMultipartUploadResult, S3ByteStream, S3MultipartUploadWriter, S3ObjectStore,
S3ObjectStoreConfig, S3ObjectStoreError,
};
pub use store::ObjectStore;