TUnion

Struct TUnion 

Source
pub struct TUnion {
    pub types: Cow<'static, [TAtomic]>,
    pub flags: UnionFlags,
}

Fields§

§types: Cow<'static, [TAtomic]>§flags: UnionFlags

Implementations§

Source§

impl TUnion

Source

pub fn new(types: Cow<'static, [TAtomic]>) -> TUnion

The primary constructor for creating a TUnion from a Cow.

This is the most basic way to create a TUnion and is used by both the zero-allocation static helpers and the from_vec constructor.

Source

pub fn from_vec(types: Vec<TAtomic>) -> TUnion

Creates a TUnion from an owned Vec, performing necessary cleanup.

This preserves the original logic for cleaning up dynamically created unions, such as removing redundant never types.

§Panics

In debug builds, panics if:

  • The input Vec is empty (unions must contain at least one type)
  • The input contains a mix of never types with other types (invalid union construction)
Source

pub fn from_single(atomic: Cow<'static, TAtomic>) -> TUnion

Creates a TUnion from a single atomic type, which can be either borrowed from a static source or owned.

This function is a key optimization point. When passed a Cow::Borrowed, it creates the TUnion without any heap allocation.

Source

pub fn from_atomic(atomic: TAtomic) -> TUnion

Creates a TUnion from a single owned atomic type.

Source

pub fn set_possibly_undefined( &mut self, possibly_undefined: bool, from_try: Option<bool>, )

Source

pub const fn had_template(&self) -> bool

Source

pub const fn by_reference(&self) -> bool

Source

pub const fn reference_free(&self) -> bool

Source

pub const fn possibly_undefined_from_try(&self) -> bool

Source

pub const fn possibly_undefined(&self) -> bool

Source

pub const fn ignore_nullable_issues(&self) -> bool

Source

pub const fn ignore_falsable_issues(&self) -> bool

Source

pub const fn from_template_default(&self) -> bool

Source

pub const fn populated(&self) -> bool

Source

pub fn set_had_template(&mut self, value: bool)

Source

pub fn set_by_reference(&mut self, value: bool)

Source

pub fn set_reference_free(&mut self, value: bool)

Source

pub fn set_possibly_undefined_from_try(&mut self, value: bool)

Source

pub fn set_ignore_nullable_issues(&mut self, value: bool)

Source

pub fn set_ignore_falsable_issues(&mut self, value: bool)

Source

pub fn set_from_template_default(&mut self, value: bool)

Source

pub fn set_populated(&mut self, value: bool)

Source

pub fn clone_with_types(&self, types: Vec<TAtomic>) -> TUnion

Creates a new TUnion with the same properties as the original, but with a new set of types.

Source

pub fn to_non_nullable(&self) -> TUnion

Source

pub fn to_truthy(&self) -> TUnion

Source

pub fn get_non_nullable_types(&self) -> Vec<TAtomic>

Source

pub fn get_truthy_types(&self) -> Vec<TAtomic>

Source

pub fn as_nullable(self) -> TUnion

Adds null to the union type, making it nullable.

Source

pub fn remove_type(&mut self, bad_type: &TAtomic)

Removes a specific atomic type from the union.

Source

pub fn replace_type(&mut self, remove_type: &TAtomic, add_type: TAtomic)

Replaces a specific atomic type in the union with a new type.

Source

pub fn is_int(&self) -> bool

Source

pub fn has_int_or_float(&self) -> bool

Source

pub fn has_int_and_float(&self) -> bool

Source

pub fn has_int_and_string(&self) -> bool

Source

pub fn has_int(&self) -> bool

Source

pub fn has_float(&self) -> bool

Source

pub fn is_array_key(&self) -> bool

Source

pub fn is_any_string(&self) -> bool

Source

pub fn is_string(&self) -> bool

Source

pub fn is_always_array_key(&self, ignore_never: bool) -> bool

Source

pub fn is_non_empty_string(&self) -> bool

Source

pub fn is_empty_array(&self) -> bool

Source

pub fn has_string(&self) -> bool

Source

pub fn is_float(&self) -> bool

Source

pub fn is_bool(&self) -> bool

Source

pub fn is_never(&self) -> bool

Source

pub fn is_never_template(&self) -> bool

Source

pub fn is_placeholder(&self) -> bool

Source

pub fn is_true(&self) -> bool

Source

pub fn is_false(&self) -> bool

Source

pub fn is_nonnull(&self) -> bool

Source

pub fn is_numeric(&self) -> bool

Source

pub fn is_int_or_float(&self) -> bool

Source

pub fn effective_int_or_float(&self) -> Option<bool>

Returns Some(true) if all types are effectively int, Some(false) if all are effectively float, or None if mixed or neither. Handles unions like 1|2 (all int) or 3.4|4.5 (all float).

Source

pub fn is_mixed(&self) -> bool

Source

pub fn is_mixed_template(&self) -> bool

Source

pub fn has_mixed(&self) -> bool

Source

pub fn has_mixed_template(&self) -> bool

Source

pub fn has_nullable_mixed(&self) -> bool

Source

pub fn has_void(&self) -> bool

Source

pub fn has_null(&self) -> bool

Source

pub fn has_nullish(&self) -> bool

Source

pub fn is_nullable_mixed(&self) -> bool

Source

pub fn is_falsy_mixed(&self) -> bool

Source

pub fn is_vanilla_mixed(&self) -> bool

Source

pub fn is_templated_as_vanilla_mixed(&self) -> bool

Source

pub fn has_template_or_static(&self) -> bool

Source

pub fn has_template(&self) -> bool

Source

pub fn has_template_types(&self) -> bool

Source

pub fn get_template_types(&self) -> Vec<&TAtomic>

Source

pub fn is_objecty(&self) -> bool

Source

pub fn is_generator(&self) -> bool

Source

pub fn extends_or_implements( &self, codebase: &CodebaseMetadata, interface: &str, ) -> bool

Source

pub fn is_generic_parameter(&self) -> bool

Source

pub fn get_generic_parameter_constraint(&self) -> Option<&TUnion>

Source

pub fn is_null(&self) -> bool

Source

pub fn is_nullable(&self) -> bool

Source

pub fn is_void(&self) -> bool

Source

pub fn is_voidable(&self) -> bool

Source

pub fn has_resource(&self) -> bool

Source

pub fn is_resource(&self) -> bool

Source

pub fn is_array(&self) -> bool

Source

pub fn is_list(&self) -> bool

Source

pub fn is_vanilla_array(&self) -> bool

Source

pub fn is_keyed_array(&self) -> bool

Source

pub fn is_falsable(&self) -> bool

Source

pub fn has_bool(&self) -> bool

Source

pub fn has_scalar(&self) -> bool

Checks if the union explicitly contains the generic scalar type.

This is a specific check for the scalar type itself, not for a combination of types that would form a scalar (e.g., int|string|bool|float). For that, see has_scalar_combination.

Source

pub fn has_scalar_combination(&self) -> bool

Checks if the union contains a combination of types that is equivalent to the generic scalar type (i.e., contains int, float, bool, and string).

Source

pub fn has_array_key(&self) -> bool

Source

pub fn has_iterable(&self) -> bool

Source

pub fn has_array(&self) -> bool

Source

pub fn has_traversable(&self, codebase: &CodebaseMetadata) -> bool

Source

pub fn has_array_key_like(&self) -> bool

Source

pub fn has_numeric(&self) -> bool

Source

pub fn is_always_truthy(&self) -> bool

Source

pub fn is_always_falsy(&self) -> bool

Source

pub fn is_literal_of(&self, other: &TUnion) -> bool

Source

pub fn all_literals(&self) -> bool

Source

pub fn has_static_object(&self) -> bool

Source

pub fn is_static_object(&self) -> bool

Source

pub fn is_single(&self) -> bool

Source

pub fn get_single_string(&self) -> Option<&TString>

Source

pub fn get_single_array(&self) -> Option<&TArray>

Source

pub fn get_single_bool(&self) -> Option<&TBool>

Source

pub fn get_single_named_object(&self) -> Option<&TNamedObject>

Source

pub fn get_single_shaped_object(&self) -> Option<&TObjectWithProperties>

Source

pub fn get_single(&self) -> &TAtomic

Source

pub fn get_single_owned(self) -> TAtomic

Source

pub fn is_named_object(&self) -> bool

Source

pub fn is_enum(&self) -> bool

Source

pub fn is_enum_case(&self) -> bool

Source

pub fn is_single_enum_case(&self) -> bool

Source

pub fn has_named_object(&self) -> bool

Source

pub fn has_object(&self) -> bool

Source

pub fn has_callable(&self) -> bool

Source

pub fn is_callable(&self) -> bool

Source

pub fn has_object_type(&self) -> bool

Source

pub fn get_enum_cases(&self) -> Vec<(Atom, Option<Atom>)>

Return a vector of pairs containing the enum name, and their case name if specified.

Source

pub fn get_single_int(&self) -> Option<TInteger>

Source

pub fn get_single_literal_int_value(&self) -> Option<i64>

Source

pub fn get_single_maximum_int_value(&self) -> Option<i64>

Source

pub fn get_single_minimum_int_value(&self) -> Option<i64>

Source

pub fn get_single_literal_float_value(&self) -> Option<f64>

Source

pub fn get_single_literal_string_value(&self) -> Option<&str>

Source

pub fn get_single_class_string_value(&self) -> Option<Atom>

Source

pub fn get_single_array_key(&self) -> Option<ArrayKey>

Source

pub fn get_single_key_of_array_like(&self) -> Option<TUnion>

Source

pub fn get_single_value_of_array_like(&self) -> Option<Cow<'_, TUnion>>

Source

pub fn get_literal_ints(&self) -> Vec<&TAtomic>

Source

pub fn get_literal_strings(&self) -> Vec<&TAtomic>

Source

pub fn get_literal_string_values(&self) -> Vec<Option<Atom>>

Source

pub fn has_literal_float(&self) -> bool

Source

pub fn has_literal_int(&self) -> bool

Source

pub fn has_literal_string(&self) -> bool

Source

pub fn has_literal_value(&self) -> bool

Source

pub fn accepts_false(&self) -> bool

Source

pub fn accepts_null(&self) -> bool

Trait Implementations§

Source§

impl Clone for TUnion

Source§

fn clone(&self) -> TUnion

Returns a duplicate 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 TUnion

Source§

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

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

impl<'de> Deserialize<'de> for TUnion

Source§

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<'a> From<&'a TUnion> for TypeRef<'a>

Source§

fn from(reference: &'a TUnion) -> Self

Converts to this type from the input type.
Source§

impl Hash for TUnion

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 TUnion

Source§

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

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

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

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

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

Compares and returns the minimum of two values. Read more
1.50.0 · 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 TUnion

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for TUnion

Source§

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

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · 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 · 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 · 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 · 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 Serialize for TUnion

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl TType for TUnion

Source§

fn get_child_nodes(&self) -> Vec<TypeRef<'_>>

Returns a vector of child type nodes that this type contains.
Source§

fn needs_population(&self) -> bool

Source§

fn is_expandable(&self) -> bool

Source§

fn is_complex(&self) -> bool

Returns true if this type has complex structure that benefits from multiline formatting when used as a generic parameter.
Source§

fn get_id(&self) -> Atom

Return a human-readable atom for this type, which is suitable for use in error messages or debugging. Read more
Source§

fn get_pretty_id_with_indent(&self, indent: usize) -> Atom

Source§

fn get_all_child_nodes(&self) -> Vec<TypeRef<'_>>

Returns a vector of all child type nodes, including nested ones.
Source§

fn can_be_intersected(&self) -> bool

Checks if this type can have intersection types (&B&S).
Source§

fn get_intersection_types(&self) -> Option<&[TAtomic]>

Returns a slice of the additional intersection types (&B&S), if any. Contains boxed atomic types.
Source§

fn get_intersection_types_mut(&mut self) -> Option<&mut Vec<TAtomic>>

Returns a mutable slice of the additional intersection types (&B&S), if any. Contains boxed atomic types.
Source§

fn has_intersection_types(&self) -> bool

Checks if this type has intersection types.
Source§

fn add_intersection_type(&mut self, _intersection_type: TAtomic) -> bool

Adds an intersection type to this type. Read more
Source§

fn get_pretty_id(&self) -> Atom

Source§

impl Eq for TUnion

Auto Trait Implementations§

§

impl Freeze for TUnion

§

impl RefUnwindSafe for TUnion

§

impl Send for TUnion

§

impl Sync for TUnion

§

impl Unpin for TUnion

§

impl UnwindSafe for TUnion

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<Q, K> Comparable<K> for Q
where Q: Ord + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
Source§

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

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Paint for T
where T: ?Sized,

Source§

fn fg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the foreground set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like red() and green(), which have the same functionality but are pithier.

§Example

Set foreground color to white using fg():

use yansi::{Paint, Color};

painted.fg(Color::White);

Set foreground color to white using white().

use yansi::Paint;

painted.white();
Source§

fn primary(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Primary].

§Example
println!("{}", value.primary());
Source§

fn fixed(&self, color: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Fixed].

§Example
println!("{}", value.fixed(color));
Source§

fn rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Rgb].

§Example
println!("{}", value.rgb(r, g, b));
Source§

fn black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Black].

§Example
println!("{}", value.black());
Source§

fn red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Red].

§Example
println!("{}", value.red());
Source§

fn green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Green].

§Example
println!("{}", value.green());
Source§

fn yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Yellow].

§Example
println!("{}", value.yellow());
Source§

fn blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Blue].

§Example
println!("{}", value.blue());
Source§

fn magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Magenta].

§Example
println!("{}", value.magenta());
Source§

fn cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Cyan].

§Example
println!("{}", value.cyan());
Source§

fn white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: White].

§Example
println!("{}", value.white());
Source§

fn bright_black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlack].

§Example
println!("{}", value.bright_black());
Source§

fn bright_red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightRed].

§Example
println!("{}", value.bright_red());
Source§

fn bright_green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightGreen].

§Example
println!("{}", value.bright_green());
Source§

fn bright_yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightYellow].

§Example
println!("{}", value.bright_yellow());
Source§

fn bright_blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlue].

§Example
println!("{}", value.bright_blue());
Source§

fn bright_magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.bright_magenta());
Source§

fn bright_cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightCyan].

§Example
println!("{}", value.bright_cyan());
Source§

fn bright_white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightWhite].

§Example
println!("{}", value.bright_white());
Source§

fn bg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the background set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like on_red() and on_green(), which have the same functionality but are pithier.

§Example

Set background color to red using fg():

use yansi::{Paint, Color};

painted.bg(Color::Red);

Set background color to red using on_red().

use yansi::Paint;

painted.on_red();
Source§

fn on_primary(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Primary].

§Example
println!("{}", value.on_primary());
Source§

fn on_fixed(&self, color: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Fixed].

§Example
println!("{}", value.on_fixed(color));
Source§

fn on_rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Rgb].

§Example
println!("{}", value.on_rgb(r, g, b));
Source§

fn on_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Black].

§Example
println!("{}", value.on_black());
Source§

fn on_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Red].

§Example
println!("{}", value.on_red());
Source§

fn on_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Green].

§Example
println!("{}", value.on_green());
Source§

fn on_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Yellow].

§Example
println!("{}", value.on_yellow());
Source§

fn on_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Blue].

§Example
println!("{}", value.on_blue());
Source§

fn on_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Magenta].

§Example
println!("{}", value.on_magenta());
Source§

fn on_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Cyan].

§Example
println!("{}", value.on_cyan());
Source§

fn on_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: White].

§Example
println!("{}", value.on_white());
Source§

fn on_bright_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlack].

§Example
println!("{}", value.on_bright_black());
Source§

fn on_bright_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightRed].

§Example
println!("{}", value.on_bright_red());
Source§

fn on_bright_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightGreen].

§Example
println!("{}", value.on_bright_green());
Source§

fn on_bright_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightYellow].

§Example
println!("{}", value.on_bright_yellow());
Source§

fn on_bright_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlue].

§Example
println!("{}", value.on_bright_blue());
Source§

fn on_bright_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.on_bright_magenta());
Source§

fn on_bright_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightCyan].

§Example
println!("{}", value.on_bright_cyan());
Source§

fn on_bright_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightWhite].

§Example
println!("{}", value.on_bright_white());
Source§

fn attr(&self, value: Attribute) -> Painted<&T>

Enables the styling Attribute value.

This method should be used rarely. Instead, prefer to use attribute-specific builder methods like bold() and underline(), which have the same functionality but are pithier.

§Example

Make text bold using attr():

use yansi::{Paint, Attribute};

painted.attr(Attribute::Bold);

Make text bold using using bold().

use yansi::Paint;

painted.bold();
Source§

fn bold(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Bold].

§Example
println!("{}", value.bold());
Source§

fn dim(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Dim].

§Example
println!("{}", value.dim());
Source§

fn italic(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Italic].

§Example
println!("{}", value.italic());
Source§

fn underline(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Underline].

§Example
println!("{}", value.underline());

Returns self with the attr() set to [Attribute :: Blink].

§Example
println!("{}", value.blink());

Returns self with the attr() set to [Attribute :: RapidBlink].

§Example
println!("{}", value.rapid_blink());
Source§

fn invert(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Invert].

§Example
println!("{}", value.invert());
Source§

fn conceal(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Conceal].

§Example
println!("{}", value.conceal());
Source§

fn strike(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Strike].

§Example
println!("{}", value.strike());
Source§

fn quirk(&self, value: Quirk) -> Painted<&T>

Enables the yansi Quirk value.

This method should be used rarely. Instead, prefer to use quirk-specific builder methods like mask() and wrap(), which have the same functionality but are pithier.

§Example

Enable wrapping using .quirk():

use yansi::{Paint, Quirk};

painted.quirk(Quirk::Wrap);

Enable wrapping using wrap().

use yansi::Paint;

painted.wrap();
Source§

fn mask(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Mask].

§Example
println!("{}", value.mask());
Source§

fn wrap(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Wrap].

§Example
println!("{}", value.wrap());
Source§

fn linger(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Linger].

§Example
println!("{}", value.linger());
Source§

fn clear(&self) -> Painted<&T>

👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear(). The clear() method will be removed in a future release.

Returns self with the quirk() set to [Quirk :: Clear].

§Example
println!("{}", value.clear());
Source§

fn resetting(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Resetting].

§Example
println!("{}", value.resetting());
Source§

fn bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Bright].

§Example
println!("{}", value.bright());
Source§

fn on_bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: OnBright].

§Example
println!("{}", value.on_bright());
Source§

fn whenever(&self, value: Condition) -> Painted<&T>

Conditionally enable styling based on whether the Condition value applies. Replaces any previous condition.

See the crate level docs for more details.

§Example

Enable styling painted only when both stdout and stderr are TTYs:

use yansi::{Paint, Condition};

painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);
Source§

fn new(self) -> Painted<Self>
where Self: Sized,

Create a new Painted with a default Style. Read more
Source§

fn paint<S>(&self, style: S) -> Painted<&Self>
where S: Into<Style>,

Apply a style wholesale to self. Any previous style is replaced. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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<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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,