pub enum TAtomic {
Show 17 variants
Scalar(TScalar),
Callable(TCallable),
Mixed(TMixed),
Object(TObject),
Array(TArray),
Iterable(TIterable),
Resource(TResource),
Reference(TReference),
GenericParameter(TGenericParameter),
Variable(Atom),
Conditional(TConditional),
Derived(TDerived),
Alias(TAlias),
Never,
Null,
Void,
Placeholder,
}Variants§
Scalar(TScalar)
Callable(TCallable)
Mixed(TMixed)
Object(TObject)
Array(TArray)
Iterable(TIterable)
Resource(TResource)
Reference(TReference)
GenericParameter(TGenericParameter)
Variable(Atom)
Conditional(TConditional)
Derived(TDerived)
Alias(TAlias)
Never
Null
Void
Placeholder
Implementations§
Source§impl TAtomic
impl TAtomic
pub fn is_numeric(&self) -> bool
pub fn is_int_or_float(&self) -> bool
Sourcepub fn effective_int_or_float(&self) -> Option<bool>
pub fn effective_int_or_float(&self) -> Option<bool>
Returns Some(true) if this type is effectively an int, Some(false) if effectively a float,
or None if neither. Considers generic parameter constraints (e.g., T of int is treated as int).
pub const fn is_mixed(&self) -> bool
pub const fn is_vanilla_mixed(&self) -> bool
pub const fn is_mixed_isset_from_loop(&self) -> bool
pub const fn is_never(&self) -> bool
pub fn is_templated_as_never(&self) -> bool
pub fn is_templated_as_mixed(&self) -> bool
pub fn is_templated_as_vanilla_mixed(&self) -> bool
pub fn map_generic_parameter_constraint<F, T>(&self, f: F) -> Option<T>
pub fn is_enum(&self) -> bool
pub fn is_enum_case(&self) -> bool
pub fn is_object_type(&self) -> bool
pub fn is_this(&self) -> bool
pub fn get_object_or_enum_name(&self) -> Option<Atom>
pub fn get_all_object_names(&self) -> Vec<Atom>
pub fn is_stdclass(&self) -> bool
pub fn is_generator(&self) -> bool
pub fn get_generator_parameters( &self, ) -> Option<(TUnion, TUnion, TUnion, TUnion)>
pub fn is_templated_as_object(&self) -> bool
pub const fn is_list(&self) -> bool
pub fn is_vanilla_array(&self) -> bool
pub fn get_list_element_type(&self) -> Option<&TUnion>
pub fn is_non_empty_list(&self) -> bool
pub fn is_empty_array(&self) -> bool
pub const fn is_keyed_array(&self) -> bool
pub fn is_non_empty_keyed_array(&self) -> bool
pub const fn is_array(&self) -> bool
pub const fn is_iterable(&self) -> bool
pub fn extends_or_implements( &self, codebase: &CodebaseMetadata, interface: &str, ) -> bool
pub fn is_countable(&self, codebase: &CodebaseMetadata) -> bool
pub fn could_be_countable(&self, codebase: &CodebaseMetadata) -> bool
pub fn is_traversable(&self, codebase: &CodebaseMetadata) -> bool
pub fn is_array_or_traversable(&self, codebase: &CodebaseMetadata) -> bool
pub fn could_be_array_or_traversable(&self, codebase: &CodebaseMetadata) -> bool
pub fn is_non_empty_array(&self) -> bool
pub fn to_array_key(&self) -> Option<ArrayKey>
pub fn get_array_key_type(&self) -> Option<TUnion>
pub fn get_array_value_type(&self) -> Option<TUnion>
pub const fn is_generic_scalar(&self) -> bool
pub const fn is_some_scalar(&self) -> bool
pub const fn is_boring_scalar(&self) -> bool
pub const fn is_any_string(&self) -> bool
pub const fn is_string(&self) -> bool
pub const fn is_string_of_literal_origin(&self) -> bool
pub const fn is_non_empty_string(&self) -> bool
pub const fn is_known_literal_string(&self) -> bool
pub const fn is_literal_class_string(&self) -> bool
pub const fn is_string_subtype(&self) -> bool
pub const fn is_array_key(&self) -> bool
pub const fn is_int(&self) -> bool
pub const fn is_literal_int(&self) -> bool
pub const fn is_float(&self) -> bool
pub const fn is_literal_float(&self) -> bool
pub const fn is_null(&self) -> bool
pub const fn is_void(&self) -> bool
pub const fn is_bool(&self) -> bool
pub const fn is_general_bool(&self) -> bool
pub const fn is_general_string(&self) -> bool
pub const fn is_true(&self) -> bool
pub const fn is_false(&self) -> bool
pub const fn is_falsable(&self) -> bool
pub const fn is_resource(&self) -> bool
pub const fn is_closed_resource(&self) -> bool
pub const fn is_open_resource(&self) -> bool
pub const fn is_literal(&self) -> bool
pub const fn is_callable(&self) -> bool
pub const fn is_conditional(&self) -> bool
pub const fn is_generic_parameter(&self) -> bool
pub const fn get_generic_parameter_name(&self) -> Option<Atom>
Sourcepub const fn can_be_callable(&self) -> bool
pub const fn can_be_callable(&self) -> bool
Is this a type that could potentially be callable at runtime?
pub fn is_truthy(&self) -> bool
pub fn is_falsy(&self) -> bool
pub fn is_array_accessible_with_string_key(&self) -> bool
pub fn is_array_accessible_with_int_or_string_key(&self) -> bool
pub fn is_derived(&self) -> bool
pub fn clone_without_intersection_types(&self) -> TAtomic
pub fn remove_placeholders(&mut self)
pub fn get_literal_string_value(&self) -> Option<&str>
pub fn get_class_string_value(&self) -> Option<Atom>
pub fn get_integer(&self) -> Option<TInteger>
pub fn get_literal_int_value(&self) -> Option<i64>
pub fn get_maximum_int_value(&self) -> Option<i64>
pub fn get_minimum_int_value(&self) -> Option<i64>
pub fn get_literal_float_value(&self) -> Option<f64>
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TAtomic
impl<'de> Deserialize<'de> for TAtomic
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>,
Source§impl Ord for TAtomic
impl Ord for TAtomic
Source§impl PartialOrd for TAtomic
impl PartialOrd for TAtomic
Source§impl TType for TAtomic
impl TType for TAtomic
Source§fn get_child_nodes(&self) -> Vec<TypeRef<'_>>
fn get_child_nodes(&self) -> Vec<TypeRef<'_>>
Source§fn can_be_intersected(&self) -> bool
fn can_be_intersected(&self) -> bool
&B&S).Source§fn get_intersection_types(&self) -> Option<&[TAtomic]>
fn get_intersection_types(&self) -> Option<&[TAtomic]>
&B&S), if any. Contains boxed atomic types.Source§fn get_intersection_types_mut(&mut self) -> Option<&mut Vec<TAtomic>>
fn get_intersection_types_mut(&mut self) -> Option<&mut Vec<TAtomic>>
&B&S), if any. Contains boxed atomic types.Source§fn has_intersection_types(&self) -> bool
fn has_intersection_types(&self) -> bool
Source§fn add_intersection_type(&mut self, intersection_type: TAtomic) -> bool
fn add_intersection_type(&mut self, intersection_type: TAtomic) -> bool
fn needs_population(&self) -> bool
fn is_expandable(&self) -> bool
Source§fn is_complex(&self) -> bool
fn is_complex(&self) -> bool
Source§fn get_id(&self) -> Atom
fn get_id(&self) -> Atom
fn get_pretty_id_with_indent(&self, indent: usize) -> Atom
Source§fn get_all_child_nodes(&self) -> Vec<TypeRef<'_>>
fn get_all_child_nodes(&self) -> Vec<TypeRef<'_>>
fn get_pretty_id(&self) -> Atom
impl Eq for TAtomic
impl StructuralPartialEq for TAtomic
Auto Trait Implementations§
impl Freeze for TAtomic
impl RefUnwindSafe for TAtomic
impl Send for TAtomic
impl Sync for TAtomic
impl Unpin for TAtomic
impl UnwindSafe for TAtomic
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
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§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
key and return true if they are equal.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>
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>
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 moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
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 bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
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>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
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 rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
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 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.
fn clear(&self) -> Painted<&T>
resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
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);