Skip to main content

ContractValuePathFacts

Struct ContractValuePathFacts 

Source
pub struct ContractValuePathFacts {
Show 24 fields pub has_referenced_descendants: bool, pub has_item_descendants: bool, pub has_structured_item_descendants: bool, pub used_as_fragment: bool, pub used_as_serialized: bool, pub used_as_yaml_serialized: bool, pub has_string_contract: bool, pub has_string_contract_items: bool, pub used_as_pathless_fragment: bool, pub accepted_values_root_fragment: bool, pub accepted_dependency_values_root_fragment: bool, pub is_ranged_source: bool, pub is_direct_ranged_source: bool, pub has_destructured_range_use: bool, pub has_json_decoded_range_use: bool, pub is_partial_scalar_value_path: bool, pub has_render_use: bool, pub has_unconditional_render_use: bool, pub has_self_guarded_render_use: bool, pub all_render_uses_self_guarded: bool, pub has_merge_layered_use: bool, pub all_render_uses_falsy_tolerant: bool, pub has_self_range_guard_render_use: bool, pub is_nullable: bool,
}
Expand description

Schema-generation facts for one input values path.

This bundles the contract-owned path state that schema lowering needs, so generator code does not have to reconstruct semantic facts from multiple lower-level projections.

Fields§

§has_referenced_descendants: bool

Whether analysis observed referenced paths below this path.

§has_item_descendants: bool

Descendant rows that continue through a * item segment. Item rows describe a ranged collection’s element shape; a literal member read (e.g. a guard probing one key of a user-populated map) does not.

§has_structured_item_descendants: bool

Item descendants that continue INTO element structure (p.*.field). A bare p.* value row proves no LIST shape: range iterates maps too, so declared-empty maps with only bare member-value rows stay user-populated.

§used_as_fragment: bool

Whether the path renders as a structural YAML fragment.

§used_as_serialized: bool

The path renders through a serializing or total-stringification sink (tpl (toYaml …), quote, toString, join): any input type renders, so the use exposes provenance but no input shape.

§used_as_yaml_serialized: bool

The path is rendered through toYaml. The input kind is unrestricted, while the resulting YAML fragment still obeys structural placement.

§has_string_contract: bool

A string-consuming transform (trunc, b64enc, fromYaml, a dynamic printf format) bound a real runtime string contract on the path: rendering fails for non-string values, so this typing survives even when another use stringifies the path.

§has_string_contract_items: bool

Some path.* member row carries a runtime string contract (tpl over each ranged member): integer iteration yields int members the contract rejects, so the integer lane closes.

§used_as_pathless_fragment: bool

Whether fragment rendering lost a precise output location.

§accepted_values_root_fragment: bool

Whether the path may supply the chart’s complete values-root fragment.

§accepted_dependency_values_root_fragment: bool

Whether the path may supply a dependency values-root fragment.

§is_ranged_source: bool

Whether this path or one of its projections supplies a range action.

§is_direct_ranged_source: bool

The chart ranges this path DIRECTLY (range .Values.x), so the runtime iterable domain applies to the path’s own value.

§has_destructured_range_use: bool

Some direct range over this path uses TWO variables (range $k, $v := …): integers iterate single-variable ranges only (“can’t use 2 to iterate over more than one variable”).

§has_json_decoded_range_use: bool

Some direct range sees the path after JSON decoding, where numbers are float64 values rather than Helm’s integer iteration counts.

§is_partial_scalar_value_path: bool

Whether the path contributes only part of a rendered scalar token.

§has_render_use: bool

Whether any rendering sink consumes the path.

§has_unconditional_render_use: bool

Whether a rendering sink consumes the path without a branch guard.

§has_self_guarded_render_use: bool

Whether any rendering sink is guarded by this path’s own truthiness.

§all_render_uses_self_guarded: bool

Whether every rendering sink is guarded by this path’s own truthiness.

§has_merge_layered_use: bool

A render consumed this path as one layer of an ordered merge: the generator synthesizes the layer’s typing as root arms, and the layer’s synthetic self-truthiness guard must not drive base classification (a declared {} default stays an open map — the merged sink renders any user-supplied members).

§all_render_uses_falsy_tolerant: bool

Every render use either sits behind the path’s own truthy selection or cannot reject a Helm-falsy value at all: a merge operand’s strict map contract rides its fail implication (which keys on the call’s live gate), and a checksum digest row hashes re-rendered text without consuming the raw value. Unlike all_render_uses_self_guarded, this bit feeds ONLY the base falsy escape — never overlay-branch routing or declared-default placement.

§has_self_range_guard_render_use: bool

Whether a direct range guard protects a rendering sink for this path.

§is_nullable: bool

Whether observed semantics explicitly admit null.

Implementations§

Source§

impl ContractValuePathFacts

Source

pub fn record_render_use( &mut self, range_guarded: bool, self_guarded: Option<bool>, falsy_tolerant: Option<bool>, )

Incorporates one rendering use into the aggregate path facts.

Source

pub fn merge_render_use_facts(&mut self, other: Self)

Merges rendering facts collected by another analysis branch.

Trait Implementations§

Source§

impl Clone for ContractValuePathFacts

Source§

fn clone(&self) -> ContractValuePathFacts

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 Copy for ContractValuePathFacts

Source§

impl Debug for ContractValuePathFacts

Source§

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

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

impl Default for ContractValuePathFacts

Source§

fn default() -> ContractValuePathFacts

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

impl Eq for ContractValuePathFacts

Source§

impl Hash for ContractValuePathFacts

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Ord for ContractValuePathFacts

Source§

fn cmp(&self, other: &ContractValuePathFacts) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 (const: unstable) · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 (const: unstable) · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for ContractValuePathFacts

Source§

fn eq(&self, other: &ContractValuePathFacts) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl PartialOrd for ContractValuePathFacts

Source§

fn partial_cmp(&self, other: &ContractValuePathFacts) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

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

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

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

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl StructuralPartialEq for ContractValuePathFacts

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