Struct specifications::package::PackageIndex

source ·
pub struct PackageIndex {
    pub packages: HashMap<String, PackageInfo>,
    pub latest: HashMap<String, (Version, String)>,
}
Expand description

Collects multiple PackageInfos into one database, called the package index.

Fields§

§packages: HashMap<String, PackageInfo>

The list of packages stored in the index.

§latest: HashMap<String, (Version, String)>

Cache of the standard ‘latest’ packages so we won’t have to search every time.

Implementations§

source§

impl PackageIndex

source

pub fn empty() -> Self

Constructor for the PackageIndex that initializes it to having no packages.

source

pub fn new(packages: HashMap<String, PackageInfo>) -> Self

Constructor for the PackageIndex.

Arguments

  • packages: The map of packages to base this index on. Each key should be <name>-<version> (i.e., every package version is a separate entry).
source

pub fn from_path(path: &Path) -> Result<Self, PackageIndexError>

Edited: Returns PackageIndexErrors now.

Tries to construct a new PackageIndex from the application file at the given path.

Arguments

  • path: Path to the application file.

Returns
The new PackageIndex if it all went fine, or a PackageIndexError if it didn’t.

source

pub fn from_reader<R: Read>(r: R) -> Result<Self, PackageIndexError>

Edited: Returns PackageIndexErrors now.

Tries to construct a new PackageIndex from the given reader.

Arguments

  • r: The reader that contains the data to construct the PackageIndex from.

Returns
The new PackageIndex if it all went fine, or a PackageIndexError if it didn’t.

source

pub async fn from_url(url: &str) -> Result<Self, PackageIndexError>

Edited: Returns PackageIndexErrors now.

Tries to construct a new PackageIndex from a JSON file at the given URL.

Arguments

  • url: The location of the JSON file to parse.

Returns
The new PackageIndex if it all went fine, or a PackageIndexError if it didn’t.

source

pub fn from_value(v: JValue) -> Result<Self, PackageIndexError>

Edited: Returns PackageIndexErrors now.

Tries to construct a new PackageIndex from the given JSON-parsed value.

Arguments

  • v: The JSON root value of the tree to parse.

Returns
The new PackageIndex if it all went fine, or a PackageIndexError if it didn’t.

source

pub fn from_packages( known_packages: Vec<PackageInfo>, ) -> Result<Self, PackageIndexError>

Edited: Returns PackageIndexErrors now.

Tries to construct a new PackageIndex from a list of PackageInfos.

Arguments

  • known_packages: List of PackageInfos to incorporate in the PackageIndex.

Returns
The new PackageIndex if it all went fine, or a PackageIndexError if it didn’t.

source

pub fn get(&self, name: &str, version: Option<&Version>) -> Option<&PackageInfo>

Returns the package with the given name and (optional) version.

Arguments

  • name: The name of the package.
  • version: The version of the package to get. If omitted, uses the latest version known to the PackageIndex.

Returns
An (immuteable) reference to the package if it exists, or else None.

Trait Implementations§

source§

impl Clone for PackageIndex

source§

fn clone(&self) -> PackageIndex

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 Debug for PackageIndex

source§

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

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

impl Default for PackageIndex

source§

fn default() -> PackageIndex

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

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

source§

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, U> TryFrom<U> for T
where U: Into<T>,

source§

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>,

source§

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.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> ErasedDestructor for T
where T: 'static,

source§

impl<T> MaybeSendSync for T