Struct Fetcher

Source
pub struct Fetcher {
    pub host: Host,
    pub provider_scope: String,
    /* private fields */
}

Fields§

§host: Host

The host url (defaults to https://jsr.io)

§provider_scope: String

The jsr provider scope on npm-side. Defaults to jsr

NOTE: This is DIFFERENT than normal package scope

See https://jsr.io/docs/api#npm-compatibility-registry-api

Implementations§

Source§

impl Fetcher

Source

pub fn new(builder: FetcherBuilder) -> Self

Creates a new Fetcher

§Panics

See the docs for reqwest::Client::new. You can prevent this by setting your own reqwest Client in FetcherBuilder

Source

pub async fn get_meta( &self, value: impl AsRef<MetaBuilder>, ) -> Result<Option<Meta>>

Get package metadata, contains version details, and more

Returns Ok(None) if the server returned 404. If the other failed status code returned, Err will be returned. Else, Ok(Some(Meta)) returned normally as success

See https://jsr.io/docs/api#package-version

§Errors

Throws reqwest::Error or serde_json::Error

Source

pub async fn get_metas<T: AsRef<MetaBuilder>, U: IntoIterator<Item = T> + ExactSizeIterator>( &self, values: U, ) -> Result<Vec<Meta>>

Get metadatas from packages, contains version details, and more

See https://jsr.io/docs/api#package-version

§Errors

Throws reqwest::Error or serde_json::Error

Source

pub async fn get_package( &self, value: impl AsRef<PackageBuilder>, ) -> Result<Option<Package>>

Get package with specific version on it.

Returns Ok(None) if the server returned 404. If the other failed status code returned, Err will be returned. Else, Ok(Some(Package)) returned normally as success

See https://jsr.io/docs/api#package-version-metadata

To get the list of versions, use Fetcher::get_meta

§Errors

Throws reqwest::Error or serde_json::Error

Source

pub async fn get_packages<T: AsRef<PackageBuilder>, U: IntoIterator<Item = T> + ExactSizeIterator>( &self, values: U, ) -> Result<Vec<Package>>

Get each packages with specific version on it

See https://jsr.io/docs/api#package-version-metadata

§Errors

Throws reqwest::Error or serde_json::Error

Source

pub async fn get_npm_comp_meta( &self, value: impl AsRef<MetaBuilder>, ) -> Result<Option<NpmCompMeta>>

Get JSR-to-npm package meta

The difference for Meta other than the compability, is that you dont need to fetch again for specific version. You just need to get from NpmCompMeta::versions, and then the result will show up

Returns Ok(None) if the server returned 404. If the other failed status code returned, Err will be returned. Else, Ok(Some(NpmCompMeta)) returned normally as success

See https://jsr.io/docs/api#package-version-metadata

§Errors

Throws reqwest::Error or serde_json::Error

Source

pub async fn get_npm_comp_metas<T: AsRef<MetaBuilder>, U: IntoIterator<Item = T> + ExactSizeIterator>( &self, values: U, ) -> Result<Vec<NpmCompMeta>>

Get JSR-to-npm package metas

The difference for Meta other than the compability, is that you dont need to fetch again for specific version. You just need to get NpmCompMeta::versions from one of them, and then the result will show up

See https://jsr.io/docs/api#package-version-metadata

§Errors

Throws reqwest::Error or serde_json::Error

Trait Implementations§

Source§

impl Debug for Fetcher

Source§

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

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

impl Default for Fetcher

Source§

fn default() -> Self

Creates a new fetcher with default configuration

§Panics

See the docs for reqwest::Client::new. You can prevent this by making your own FetcherBuilder and set the reqwest Client to Self::new

Source§

impl GetProviderScope for Fetcher

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. 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<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,