Skip to main content

VersioningRecord

Struct VersioningRecord 

Source
pub struct VersioningRecord { /* private fields */ }
Expand description

Result of analysing the API versioning annotations of a specification.

Implementations§

Source§

impl VersioningRecord

Source

pub fn analyze(spec: &Specification) -> ParserResult<Option<VersioningRecord>>

Validates every API versioning annotation of a specification.

Validation always runs, even when no version is projected. Returns None for specifications without a @version enum, and fails when lifecycle annotations appear without one.

Source

pub fn parameter(&self) -> Option<&VersionParameter>

The wire location and name carried by clients of this version timeline.

Source

pub fn timeline(&self) -> &VersionTimeline

The version history declared by the @version enum.

Source

pub fn member_intervals( &self, spec: &Specification, ) -> ParserResult<Vec<MemberInterval>>

The existence interval of every versioned declaration, read from the unprojected specification. Version modules carry no lifecycle annotations after projection, so this is the only view the adapter stage can pair versions from.

Source

pub fn resolve_version(&self, raw: &str) -> ParserResult<VersionId>

Resolves a version member name or display value for a CLI or plugin.

Source

pub fn project( &self, spec: &Specification, version: VersionId, ) -> ParserResult<Specification>

Projects version into an ordinary specification.

Source

pub fn merge( &self, spec: &Specification, versions: &[VersionId], ) -> ParserResult<Specification>

Projects every selected version into one specification with one module per version, in timeline order.

Trait Implementations§

Source§

impl Clone for VersioningRecord

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for VersioningRecord

Source§

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

Formats the value using the given formatter. 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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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,

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 = !

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

fn try_from(value: U) -> Result<T, !>

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.