pub struct Store { /* private fields */ }Expand description
Resolves and (lazily) creates the standard ~/.stryke/... layout.
Implementations§
Source§impl Store
impl Store
Sourcepub fn user_default() -> PkgResult<Store>
pub fn user_default() -> PkgResult<Store>
Construct a Store rooted at ~/.stryke/. Honors the STRYKE_HOME
environment variable for tests and CI sandboxes.
Sourcepub fn at(root: impl Into<PathBuf>) -> Store
pub fn at(root: impl Into<PathBuf>) -> Store
Construct a Store rooted at an explicit path (used by tests).
pub fn root(&self) -> &Path
pub fn store_dir(&self) -> PathBuf
pub fn cache_dir(&self) -> PathBuf
pub fn git_dir(&self) -> PathBuf
pub fn bin_dir(&self) -> PathBuf
pub fn index_dir(&self) -> PathBuf
Sourcepub fn package_dir(&self, name: &str, version: &str) -> PathBuf
pub fn package_dir(&self, name: &str, version: &str) -> PathBuf
Path where a package extraction lives: ~/.stryke/store/{name}@{version}/.
Sourcepub fn ensure_layout(&self) -> PkgResult<()>
pub fn ensure_layout(&self) -> PkgResult<()>
Ensure the full directory layout exists. Idempotent. Called eagerly by
s install; tests exercise it directly.
Sourcepub fn has_package(&self, name: &str, version: &str) -> bool
pub fn has_package(&self, name: &str, version: &str) -> bool
True if a name@version extraction already exists in the store.
Sourcepub fn install_path_dep(
&self,
name: &str,
version: &str,
src: &Path,
) -> PkgResult<PathBuf>
pub fn install_path_dep( &self, name: &str, version: &str, src: &Path, ) -> PkgResult<PathBuf>
Recursively copy a directory tree into the store as name@version. Used
for path deps where the source is a local directory the user maintains.
Existing destination is removed first so re-installs see fresh content.
Auto Trait Implementations§
impl Freeze for Store
impl RefUnwindSafe for Store
impl Send for Store
impl Sync for Store
impl Unpin for Store
impl UnsafeUnpin for Store
impl UnwindSafe for Store
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
Source§fn to_owned_obj(&self, data: FontData<'_>) -> U
fn to_owned_obj(&self, data: FontData<'_>) -> U
Convert this type into
T, using the provided data to resolve any offsets.