Struct packageurl::PackageUrl

source ·
pub struct PackageUrl<'a> { /* private fields */ }
Expand description

A Package URL.

Implementations§

source§

impl<'a> PackageUrl<'a>

source

pub fn new<T, N>(ty: T, name: N) -> Result<Self>
where T: Into<Cow<'a, str>>, N: Into<Cow<'a, str>>,

Create a new Package URL with the provided type and name.

§Type

The Package URL type must be valid, otherwise an error will be returned. The type can only be composed of ASCII letters and numbers, ‘.’, ‘+’ and ‘-’ (period, plus and dash). It cannot start with a number and cannot contain spaces.

§Name

The package name will be canonicalize depending on the type: for instance, ‘bitbucket’ packages have a case-insensitive name, so the name will be lowercased if needed.

§Example
assert!( packageurl::PackageUrl::new("cargo", "packageurl").is_ok() );
assert!( packageurl::PackageUrl::new("bad type", "packageurl").is_err() );
source

pub fn ty(&self) -> &str

Get the Package URL type.

source

pub fn namespace(&self) -> Option<&str>

Get the optional namespace.

source

pub fn name(&self) -> &str

Get the package name.

source

pub fn version(&self) -> Option<&str>

Get the optional package version.

source

pub fn qualifiers(&self) -> &HashMap<Cow<'a, str>, Cow<'a, str>>

Get the package qualifiers

source

pub fn subpath(&self) -> Option<&str>

Get the optional package subpath.

source

pub fn with_namespace<N>(&mut self, namespace: N) -> &mut Self
where N: Into<Cow<'a, str>>,

Assign a namespace to the package.

source

pub fn without_namespace(&mut self) -> &mut Self

Clear the namespace

source

pub fn with_version<V>(&mut self, version: V) -> &mut Self
where V: Into<Cow<'a, str>>,

Assign a version to the package.

source

pub fn without_version(&mut self) -> &mut Self

Clear the version

source

pub fn with_subpath<S>(&mut self, subpath: S) -> Result<&mut Self>
where S: Into<Cow<'a, str>>,

Assign a subpath to the package.

Subpaths must not contain empty, local (‘.’) or parent (‘..’) segments, otherwise an error will be returned.

source

pub fn without_subpath(&mut self) -> &mut Self

Clear the subpath

source

pub fn clear_qualifiers(&mut self) -> &mut Self

Clear qualifiers

source

pub fn add_qualifier<K, V>(&mut self, key: K, value: V) -> Result<&mut Self>
where K: Into<Cow<'a, str>>, V: Into<Cow<'a, str>>,

Add a qualifier to the package.

Trait Implementations§

source§

impl<'a> Clone for PackageUrl<'a>

source§

fn clone(&self) -> PackageUrl<'a>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a> Debug for PackageUrl<'a>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for PackageUrl<'_>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult

Formats the value using the given formatter. Read more
source§

impl FromStr for PackageUrl<'static>

§

type Err = Error

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<Self>

Parses a string s to return a value of this type. Read more
source§

impl<'a> PartialEq for PackageUrl<'a>

source§

fn eq(&self, other: &PackageUrl<'a>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'a> Eq for PackageUrl<'a>

source§

impl<'a> StructuralPartialEq for PackageUrl<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for PackageUrl<'a>

§

impl<'a> RefUnwindSafe for PackageUrl<'a>

§

impl<'a> Send for PackageUrl<'a>

§

impl<'a> Sync for PackageUrl<'a>

§

impl<'a> Unpin for PackageUrl<'a>

§

impl<'a> UnwindSafe for PackageUrl<'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.