pub struct ParamDep {
pub format: XvcParamFormat,
pub path: XvcPath,
pub key: String,
pub value: Option<XvcParamValue>,
pub xvc_metadata: Option<XvcMetadata>,
}
Expand description
Invalidates when key in params file in path changes.
Fields§
§format: XvcParamFormat
Format of the params file. This is inferred from extension if not given.
path: XvcPath
Path of the file in the workspace
key: String
Key like mydict.mykey
to access the value
value: Option<XvcParamValue>
The value of the key
xvc_metadata: Option<XvcMetadata>
The metadata of the parameter file to detect if it has changed
Implementations§
Source§impl ParamDep
impl ParamDep
Sourcepub fn new(
path: &XvcPath,
format: Option<XvcParamFormat>,
key: String,
) -> Result<Self>
pub fn new( path: &XvcPath, format: Option<XvcParamFormat>, key: String, ) -> Result<Self>
Creates a new ParamDep with the given path and key. If the format is None, it’s inferred from the path.
Sourcepub fn update_metadata(self, pmp: &XvcPathMetadataProvider) -> Result<Self>
pub fn update_metadata(self, pmp: &XvcPathMetadataProvider) -> Result<Self>
Update metada from the XvcPathMetadataProvider
Sourcepub fn update_value(self, xvc_root: &XvcRoot) -> Result<Self>
pub fn update_value(self, xvc_root: &XvcRoot) -> Result<Self>
Update value by reading the file
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ParamDep
impl<'de> Deserialize<'de> for ParamDep
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Diffable for ParamDep
impl Diffable for ParamDep
Source§fn diff_superficial(
record: &Self::Item,
actual: &Self::Item,
) -> Diff<Self::Item>
fn diff_superficial( record: &Self::Item, actual: &Self::Item, ) -> Diff<Self::Item>
⚠️ Call actual.update_metadata before calling this function ⚠️
Source§fn diff_thorough(record: &Self::Item, actual: &Self::Item) -> Diff<Self::Item>
fn diff_thorough(record: &Self::Item, actual: &Self::Item) -> Diff<Self::Item>
⚠️ Call actual.update_metadata and actual.update_value before calling this function ⚠️
Source§fn diff(
record: Option<&Self::Item>,
actual: Option<&Self::Item>,
) -> Diff<Self::Item>
fn diff( record: Option<&Self::Item>, actual: Option<&Self::Item>, ) -> Diff<Self::Item>
⚠️ Usually you must update actual’s metadata and timestamp before calling this.
Use diff_superficial and diff_thorough for shortcut comparisons. (e.g. when metadata is not changed, no need to
compare the content. ) Read more
Source§impl From<ParamDep> for XvcDependency
impl From<ParamDep> for XvcDependency
Source§impl Ord for ParamDep
impl Ord for ParamDep
Source§impl PartialOrd for ParamDep
impl PartialOrd for ParamDep
Source§impl Storable for ParamDep
impl Storable for ParamDep
Source§fn type_description() -> String
fn type_description() -> String
A string representation for the type. Read more
impl Eq for ParamDep
impl StructuralPartialEq for ParamDep
Auto Trait Implementations§
impl Freeze for ParamDep
impl RefUnwindSafe for ParamDep
impl Send for ParamDep
impl Sync for ParamDep
impl Unpin for ParamDep
impl UnwindSafe for ParamDep
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§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more