pub enum AbsolutePackageUrl {
Unpinned(UnpinnedAbsolutePackageUrl),
Pinned(PinnedAbsolutePackageUrl),
}
Expand description
A URL locating a Fuchsia package.
Has the form “fuchsia-pkg://
- “repository” is a valid hostname
- “name” is a valid package name
- “variant” is an optional valid package variant
- “hash” is an optional valid package hash https://fuchsia.dev/fuchsia-src/concepts/packages/package_url
Variants§
Unpinned(UnpinnedAbsolutePackageUrl)
Pinned(PinnedAbsolutePackageUrl)
Implementations§
Source§impl AbsolutePackageUrl
impl AbsolutePackageUrl
Sourcepub fn parse(url: &str) -> Result<Self, ParseError>
pub fn parse(url: &str) -> Result<Self, ParseError>
Parse a “fuchsia-pkg://” URL that locates an optionally pinned package.
Sourcepub fn new_with_path(
repo: RepositoryUrl,
path: &str,
hash: Option<Hash>,
) -> Result<Self, ParseError>
pub fn new_with_path( repo: RepositoryUrl, path: &str, hash: Option<Hash>, ) -> Result<Self, ParseError>
Create an AbsolutePackageUrl from its component parts and a &str path
that will be
validated.
Sourcepub fn new(
repo: RepositoryUrl,
name: PackageName,
variant: Option<PackageVariant>,
hash: Option<Hash>,
) -> Self
pub fn new( repo: RepositoryUrl, name: PackageName, variant: Option<PackageVariant>, hash: Option<Hash>, ) -> Self
Create an AbsolutePackageUrl from its component parts.
pub fn name(&self) -> &PackageName
Sourcepub fn as_unpinned(&self) -> &UnpinnedAbsolutePackageUrl
pub fn as_unpinned(&self) -> &UnpinnedAbsolutePackageUrl
The URL without the optional package hash.
Sourcepub fn pinned(self) -> Option<PinnedAbsolutePackageUrl>
pub fn pinned(self) -> Option<PinnedAbsolutePackageUrl>
The pinned URL, if the URL is pinned.
Methods from Deref<Target = UnpinnedAbsolutePackageUrl>§
Sourcepub fn repository(&self) -> &RepositoryUrl
pub fn repository(&self) -> &RepositoryUrl
The Repository URL behind this URL (this URL without the path).
Sourcepub fn name(&self) -> &PackageName
pub fn name(&self) -> &PackageName
The package name.
Sourcepub fn variant(&self) -> Option<&PackageVariant>
pub fn variant(&self) -> Option<&PackageVariant>
The optional package variant.
Sourcepub fn set_repository(&mut self, repository: RepositoryUrl) -> &mut Self
pub fn set_repository(&mut self, repository: RepositoryUrl) -> &mut Self
Change the repository to repository
.
Sourcepub fn clear_variant(&mut self) -> &mut Self
pub fn clear_variant(&mut self) -> &mut Self
Clear the variant if there is one.
Trait Implementations§
Source§impl Clone for AbsolutePackageUrl
impl Clone for AbsolutePackageUrl
Source§fn clone(&self) -> AbsolutePackageUrl
fn clone(&self) -> AbsolutePackageUrl
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for AbsolutePackageUrl
impl Debug for AbsolutePackageUrl
Source§impl DerefMut for AbsolutePackageUrl
impl DerefMut for AbsolutePackageUrl
Source§impl<'de> Deserialize<'de> for AbsolutePackageUrl
impl<'de> Deserialize<'de> for AbsolutePackageUrl
Source§fn deserialize<D>(de: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(de: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for AbsolutePackageUrl
impl Display for AbsolutePackageUrl
Source§impl From<AbsolutePackageUrl> for PackageUrl
impl From<AbsolutePackageUrl> for PackageUrl
Source§fn from(absolute: AbsolutePackageUrl) -> Self
fn from(absolute: AbsolutePackageUrl) -> Self
Converts to this type from the input type.
Source§impl From<PinnedAbsolutePackageUrl> for AbsolutePackageUrl
impl From<PinnedAbsolutePackageUrl> for AbsolutePackageUrl
Source§fn from(pinned: PinnedAbsolutePackageUrl) -> Self
fn from(pinned: PinnedAbsolutePackageUrl) -> Self
Converts to this type from the input type.
Source§impl From<UnpinnedAbsolutePackageUrl> for AbsolutePackageUrl
impl From<UnpinnedAbsolutePackageUrl> for AbsolutePackageUrl
Source§fn from(unpinned: UnpinnedAbsolutePackageUrl) -> Self
fn from(unpinned: UnpinnedAbsolutePackageUrl) -> Self
Converts to this type from the input type.
Source§impl FromStr for AbsolutePackageUrl
impl FromStr for AbsolutePackageUrl
Source§impl Hash for AbsolutePackageUrl
impl Hash for AbsolutePackageUrl
Source§impl Ord for AbsolutePackageUrl
impl Ord for AbsolutePackageUrl
Source§fn cmp(&self, other: &AbsolutePackageUrl) -> Ordering
fn cmp(&self, other: &AbsolutePackageUrl) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for AbsolutePackageUrl
impl PartialEq for AbsolutePackageUrl
Source§impl PartialOrd for AbsolutePackageUrl
impl PartialOrd for AbsolutePackageUrl
Source§impl Serialize for AbsolutePackageUrl
impl Serialize for AbsolutePackageUrl
Source§impl TryFrom<&str> for AbsolutePackageUrl
impl TryFrom<&str> for AbsolutePackageUrl
Source§impl Deref for AbsolutePackageUrl
impl Deref for AbsolutePackageUrl
impl Eq for AbsolutePackageUrl
impl StructuralPartialEq for AbsolutePackageUrl
Auto Trait Implementations§
impl Freeze for AbsolutePackageUrl
impl RefUnwindSafe for AbsolutePackageUrl
impl Send for AbsolutePackageUrl
impl Sync for AbsolutePackageUrl
impl Unpin for AbsolutePackageUrl
impl UnwindSafe for AbsolutePackageUrl
Blanket Implementations§
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)