pub struct Bit(/* private fields */);bit only.Expand description
Representing the size in bits.
Implementations§
source§impl Bit
impl Bit
Associated functions for generating AdjustedBit.
sourcepub fn get_adjusted_unit(self, unit: Unit) -> AdjustedBit
pub fn get_adjusted_unit(self, unit: Unit) -> AdjustedBit
Adjust the unit and value for this Bit instance.
Examples
use byte_unit::{AdjustedBit, Bit, Unit};
let bit = Bit::parse_str("123Kib").unwrap();
let adjusted_bit = bit.get_adjusted_unit(Unit::Kbit);
assert_eq!("125.952 Kb", adjusted_bit.to_string());use byte_unit::{AdjustedBit, Bit, Unit};
let bit = Bit::parse_str("50.84 Mb").unwrap();
let adjusted_bit = bit.get_adjusted_unit(Unit::Mibit);
assert_eq!("48.48480224609375 Mib", adjusted_bit.to_string());sourcepub fn get_appropriate_unit(&self, unit_type: UnitType) -> AdjustedBit
pub fn get_appropriate_unit(&self, unit_type: UnitType) -> AdjustedBit
Find the appropriate unit and value for this Bit instance.
Examples
use byte_unit::{Bit, UnitType};
let bit = Bit::parse_str("123Kib").unwrap();
let adjusted_bit = bit.get_appropriate_unit(UnitType::Decimal);
assert_eq!("125.952 Kb", adjusted_bit.to_string());use byte_unit::{Bit, UnitType};
let bit = Bit::parse_str("50.84 Mb").unwrap();
let adjusted_bit = bit.get_appropriate_unit(UnitType::Binary);
assert_eq!("48.48480224609375 Mib", adjusted_bit.to_string());source§impl Bit
impl Bit
Associated functions for building Bit instances using Decimal.
sourcepub fn from_decimal(size: Decimal) -> Option<Self>
pub fn from_decimal(size: Decimal) -> Option<Self>
Create a new Bit instance from a size in bits.
Examples
use byte_unit::Bit;
use rust_decimal::Decimal;
let bit = Bit::from_decimal(Decimal::from(15000000u64)).unwrap(); // 15 MbPoints to Note
- If the input size is too large (the maximum is 1027 - 1 if the
u128feature is enabled, or 264 - 1 otherwise) or not greater than or equal to 0, this function will returnNone. - The fractional part will be rounded up.
source§impl Bit
impl Bit
Associated functions for building Bit instances using Decimal (with Unit).
sourcepub fn from_decimal_with_unit(size: Decimal, unit: Unit) -> Option<Self>
pub fn from_decimal_with_unit(size: Decimal, unit: Unit) -> Option<Self>
Create a new Bit instance from a size of bits with a unit.
Examples
use byte_unit::{Bit, Unit};
use rust_decimal::Decimal;
let bit = Bit::from_decimal_with_unit(Decimal::from(15u64), Unit::Mbit).unwrap(); // 15 MbPoints to Note
- If the calculated bit is too large or not greater than or equal to 0, this function will return
None. - The calculated bit will be rounded up.
source§impl Bit
impl Bit
Methods for finding an unit using Decimal.
sourcepub fn get_recoverable_unit(
self,
allow_in_bits: bool,
precision: usize
) -> (Decimal, Unit)
pub fn get_recoverable_unit( self, allow_in_bits: bool, precision: usize ) -> (Decimal, Unit)
Find the appropriate unit and value that can be used to recover back to this Bit precisely.
Examples
use byte_unit::{Bit, Unit};
let bit = Bit::from_u64(3670016);
assert_eq!(
(3.5f64.try_into().unwrap(), Unit::Mibit),
bit.get_recoverable_unit(false, 3)
);use byte_unit::{Bit, Unit};
let bit = Bit::from_u64(28000000);
assert_eq!(
(3.5f64.try_into().unwrap(), Unit::MB),
bit.get_recoverable_unit(true, 3)
);use byte_unit::{Bit, Unit};
let bit = Bit::from_u64(437500);
assert_eq!(
(437.5f64.try_into().unwrap(), Unit::Kbit),
bit.get_recoverable_unit(false, 3)
);Points to Note
precisionshould be smaller or equal to26if theu128feature is enabled, otherwise19. The typicalprecisionis3.
source§impl Bit
impl Bit
Associated functions for parsing strings.
sourcepub fn parse_str<S: AsRef<str>>(s: S) -> Result<Self, ParseError>
pub fn parse_str<S: AsRef<str>>(s: S) -> Result<Self, ParseError>
Create a new Bit instance from a string.
The string may be "10", "10B", "10M", "10MB", "10MiB", "80b", "80Mb", "80Mbit".
You can ignore the case of “B” (bit), which means b will still be treated as bits instead of bits.
Examples
let bit = Bit::parse_str("123Kib").unwrap(); // 123 * 1024 bitssource§impl Bit
impl Bit
Associated functions for building Bit instances.
sourcepub const fn from_u128(size: u128) -> Option<Self>
pub const fn from_u128(size: u128) -> Option<Self>
Create a new Bit instance from a size in bits.
Examples
let bit = Bit::from_u128(15000000).unwrap(); // 15 MbPoints to Note
- If the input size is too large (the maximum is 1027 - 1 if the
u128feature is enabled, or 264 - 1 otherwise), this function will returnNone.
sourcepub const unsafe fn from_u128_unsafe(size: u128) -> Self
pub const unsafe fn from_u128_unsafe(size: u128) -> Self
sourcepub fn from_f64(size: f64) -> Option<Self>
pub fn from_f64(size: f64) -> Option<Self>
Create a new Bit instance from a size im bits.
Examples
let bit = Bit::from_f64(15000000.0).unwrap(); // 15 MbPoints to Note
- If the input size is too large (the maximum is 1027 - 1 if the
u128feature is enabled, or 264 - 1 otherwise) or not greater than or equal to 0, this function will returnNone. - The fractional part will be rounded up.
sourcepub fn from_f32(size: f32) -> Option<Self>
pub fn from_f32(size: f32) -> Option<Self>
Create a new Bit instance from a size in bits.
Examples
let bit = Bit::from_f32(15000000.0).unwrap(); // 15 MbPoints to Note
- If the input size is too large (the maximum is 1027 - 1 if the
u128feature is enabled, or 264 - 1 otherwise) or not greater than or equal to 0, this function will returnNone. - The fractional part will be rounded up.
sourcepub const fn from_i128(size: i128) -> Option<Self>
pub const fn from_i128(size: i128) -> Option<Self>
Create a new Bit instance from a size in bits.
Examples
let bit = Bit::from_i128(15000000).unwrap(); // 15 MbPoints to Note
- If the input size is too large (the maximum is 1027 - 1 if the
u128feature is enabled, or 264 - 1 otherwise) or negative, this function will returnNone.
source§impl Bit
impl Bit
Associated functions for building Bit instances (with Unit).
sourcepub const fn from_u128_with_unit(size: u128, unit: Unit) -> Option<Self>
pub const fn from_u128_with_unit(size: u128, unit: Unit) -> Option<Self>
Create a new Bit instance from a size of bits with a unit.
Examples
use byte_unit::{Bit, Unit};
let bit = Bit::from_u128_with_unit(15, Unit::Mbit).unwrap(); // 15 MbPoints to Note
- If the calculated bit is too large, this function will return
None.
sourcepub const fn from_u64_with_unit(size: u64, unit: Unit) -> Option<Self>
pub const fn from_u64_with_unit(size: u64, unit: Unit) -> Option<Self>
Create a new Bit instance from a size of bits with a unit.
Examples
use byte_unit::{Bit, Unit};
let bit = Bit::from_u64_with_unit(15, Unit::Mbit).unwrap(); // 15 MbPoints to Note
- If the calculated bit is too large, this function will return
None. - If the input unit is
Bit, the calculated bit will be rounded up.
sourcepub fn from_f64_with_unit(size: f64, unit: Unit) -> Option<Self>
pub fn from_f64_with_unit(size: f64, unit: Unit) -> Option<Self>
Create a new Bit instance from a size of bits with a unit.
Examples
use byte_unit::{Bit, Unit};
let bit = Bit::from_f64_with_unit(15.0, Unit::Mbit).unwrap(); // 15 MbPoints to Note
- If the calculated bit is too large or not greater than or equal to 0, this function will return
None. - The calculated bit will be rounded up.
sourcepub fn from_f32_with_unit(size: f32, unit: Unit) -> Option<Self>
pub fn from_f32_with_unit(size: f32, unit: Unit) -> Option<Self>
Create a new Bit instance from a size of bits with a unit.
Examples
use byte_unit::{Bit, Unit};
let bit = Bit::from_f32_with_unit(15.0, Unit::Mbit).unwrap(); // 15 MbPoints to Note
- If the calculated bit is too large or not greater than or equal to 0, this function will return
None. - The calculated bit will be rounded up.
sourcepub const fn from_i128_with_unit(size: i128, unit: Unit) -> Option<Self>
pub const fn from_i128_with_unit(size: i128, unit: Unit) -> Option<Self>
Create a new Bit instance from a size of bits with a unit.
Examples
use byte_unit::{Bit, Unit};
let bit = Bit::from_i128_with_unit(15, Unit::Mibit).unwrap(); // 15 MbPoints to Note
- If the calculated bit is too large or negative, this function will return
None.
sourcepub const fn from_i64_with_unit(size: i64, unit: Unit) -> Option<Self>
pub const fn from_i64_with_unit(size: i64, unit: Unit) -> Option<Self>
Create a new Bit instance from a size of bits with a unit.
Examples
use byte_unit::{Bit, Unit};
let bit = Bit::from_i64_with_unit(15, Unit::Mbit).unwrap(); // 15 MbPoints to Note
- If the calculated bit is too large or negative, this function will return
None.
source§impl Bit
impl Bit
Methods for converting a Bit instance into a primitive integer.
sourcepub const fn as_u128(self) -> u128
pub const fn as_u128(self) -> u128
Retrieve the bit represented by this Bit instance.
Examples
use byte_unit::Bit;
let bit = Bit::parse_str("123KiB").unwrap();
let result = bit.as_u128();
assert_eq!(1007616, result);use byte_unit::Bit;
let bit = Bit::parse_str("123Kib").unwrap();
let result = bit.as_u128();
assert_eq!(125952, result);sourcepub const fn as_u64(self) -> u64
pub const fn as_u64(self) -> u64
Retrieve the bit represented by this Bit instance. When the u128 feature is enabled, if the bit is actually greater than 264 - 1, it will return 264 - 1.
Examples
use byte_unit::Bit;
let bit = Bit::parse_str("1kb").unwrap();
let result = bit.as_u64();
assert_eq!(1000, result);use byte_unit::Bit;
let bit = Bit::parse_str("1zb").unwrap();
let result = bit.as_u64();
assert_eq!(u64::MAX, result);sourcepub const fn as_u64_checked(self) -> Option<u64>
pub const fn as_u64_checked(self) -> Option<u64>
Retrieve the bit represented by this Bit instance.
Examples
use byte_unit::Bit;
let bit = Bit::parse_str("1k").unwrap();
let result = bit.as_u64_checked();
assert_eq!(Some(1000), result);use byte_unit::Bit;
let bit = Bit::parse_str("1zb").unwrap();
let result = bit.as_u64_checked();
assert_eq!(None, result);source§impl Bit
impl Bit
Methods for calculation.
sourcepub const fn add(self, rhs: Bit) -> Option<Bit>
pub const fn add(self, rhs: Bit) -> Option<Bit>
Add another Bit instance.
Examples
use byte_unit::Bit;
let bit_1 = Bit::from_u64(1024);
let bit_2 = Bit::from_u64(512);
let bit = bit_1.add(bit_2).unwrap();
assert_eq!(1536, bit.as_u64());Points to Note
- If the calculated bit is too large, this function will return
None.
sourcepub const fn subtract(self, rhs: Bit) -> Option<Bit>
pub const fn subtract(self, rhs: Bit) -> Option<Bit>
Subtract another Bit instance.
Examples
use byte_unit::Bit;
let bit_1 = Bit::from_u64(1024);
let bit_2 = Bit::from_u64(512);
let bit = bit_1.subtract(bit_2).unwrap();
assert_eq!(512, bit.as_u64());Points to Note
- If the right-hand side is bigger then this
Bitinstance, this function will returnNone.
sourcepub const fn multiply(self, rhs: usize) -> Option<Bit>
pub const fn multiply(self, rhs: usize) -> Option<Bit>
Multiplied by an unsigned integer.
Examples
use byte_unit::Bit;
let count = 100;
let bit = Bit::from_u64(1024);
let total_bit = bit.multiply(100).unwrap();
assert_eq!(102400, total_bit.as_u64());Points to Note
- If the calculated bit is too large, this function will return
None.
sourcepub const fn divide(self, rhs: usize) -> Option<Bit>
pub const fn divide(self, rhs: usize) -> Option<Bit>
Divided by an unsigned integer.
Examples
use byte_unit::Bit;
let count = 100;
let bit = Bit::from_u64(1024);
let total_bit = bit.divide(100).unwrap();
assert_eq!(10, total_bit.as_u64());Points to Note
- If the input right-hand side is zero, this function will return
None. - The result will be rounded down.
source§impl Bit
impl Bit
Methods for finding an unit.
sourcepub const fn get_exact_unit(self, allow_in_bytes: bool) -> (u128, Unit)
pub const fn get_exact_unit(self, allow_in_bytes: bool) -> (u128, Unit)
Obtain the largest unit which is the greatest factor of this Bit instance.
Examples
use byte_unit::{Bit, Unit};
let bit = Bit::from_u64(3145728);
let (n, unit) = bit.get_exact_unit(true);
assert_eq!(3, n);
assert_eq!(Unit::Mibit, unit);use byte_unit::{Bit, Unit};
let bit = Bit::from_u64(24000000);
let (n, unit) = bit.get_exact_unit(true);
assert_eq!(3, n);
assert_eq!(Unit::MB, unit);use byte_unit::{Bit, Unit};
let bit = Bit::from_u64(24000000);
let (n, unit) = bit.get_exact_unit(false);
assert_eq!(24, n);
assert_eq!(Unit::Mbit, unit);Trait Implementations§
source§impl<'de> Deserialize<'de> for Bit
Available on crate feature serde only.
impl<'de> Deserialize<'de> for Bit
serde only.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 Display for Bit
impl Display for Bit
source§fn fmt(&self, f: &mut Formatter<'_>) -> Result
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter.
Examples
use byte_unit::{Bit, Unit};
let bit = Bit::from_u64_with_unit(1555, Unit::Kbit).unwrap();
assert_eq!("1555000", bit.to_string());use byte_unit::{Bit, UnitType};
let bit_based_2 = Bit::from_u64(10240);
let bit_based_10 = Bit::from_u64(10000);
assert_eq!("10240", format!("{bit_based_2}"));
assert_eq!("10000", format!("{bit_based_10}"));
// with an exact unit
assert_eq!("10 Kib", format!("{bit_based_2:#}"));
assert_eq!("10 Kb", format!("{bit_based_10:#}"));
// with an exact unit, no spaces between the value and the unit
assert_eq!("10Kib", format!("{bit_based_2:-#}"));
assert_eq!("10Kb", format!("{bit_based_10:-#}"));
// with a width, left alignment
assert_eq!("10 Kib", format!("{bit_based_2:#10}"));
assert_eq!("10 Kb", format!("{bit_based_10:#10}"));
// with a width, right alignment
assert_eq!(" 10 Kib", format!("{bit_based_2:>#10}"));
assert_eq!(" 10 Kb", format!("{bit_based_10:>#10}"));
// with a width, right alignment, more spaces between the value and the unit
assert_eq!(" 10 Kib", format!("{bit_based_2:>+#10}"));
assert_eq!(" 10 Kb", format!("{bit_based_10:>+#10}"));use byte_unit::{Bit, UnitType};
let bit = Bit::from_u64(3211776);
assert_eq!("3211776", format!("{bit}"));
// with a unit, still precisely
assert_eq!("3136.5 Kib", format!("{bit:#}"));
// with a unit and a larger precision (default is 3), still precisely
assert_eq!("3.211776 Mb", format!("{bit:#.6}"));
// with a unit and a smaller precision (default is 3), still precisely
assert_eq!("3211776 b", format!("{bit:#.0}"));source§impl From<AdjustedBit> for Bit
impl From<AdjustedBit> for Bit
source§fn from(value: AdjustedBit) -> Self
fn from(value: AdjustedBit) -> Self
source§impl From<Bit> for AdjustedBit
impl From<Bit> for AdjustedBit
source§fn from(value: Bit) -> Self
fn from(value: Bit) -> Self
unit_type is set to UnitType::Both. See Bit::get_appropriate_unit.
source§impl<'r> FromFormField<'r> for Bit
Available on crate feature rocket only.
impl<'r> FromFormField<'r> for Bit
rocket only.source§fn from_value(v: ValueField<'r>) -> Result<'r, Self>
fn from_value(v: ValueField<'r>) -> Result<'r, Self>
T from a form value field. Read moresource§impl<'r> FromParam<'r> for Bit
Available on crate feature rocket only.
impl<'r> FromParam<'r> for Bit
rocket only.§type Error = ParseError
type Error = ParseError
source§impl Ord for Bit
impl Ord for Bit
source§impl PartialOrd for Bit
impl PartialOrd for Bit
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self and other) and is used by the <=
operator. Read moreimpl Copy for Bit
impl Eq for Bit
impl StructuralEq for Bit
impl StructuralPartialEq for Bit
Auto Trait Implementations§
impl RefUnwindSafe for Bit
impl Send for Bit
impl Sync for Bit
impl Unpin for Bit
impl UnwindSafe for Bit
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
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.source§impl<'v, T> FromForm<'v> for Twhere
T: FromFormField<'v>,
impl<'v, T> FromForm<'v> for Twhere
T: FromFormField<'v>,
source§fn init(opts: Options) -> <T as FromForm<'v>>::Context
fn init(opts: Options) -> <T as FromForm<'v>>::Context
Self.source§fn push_value(ctxt: &mut <T as FromForm<'v>>::Context, field: ValueField<'v>)
fn push_value(ctxt: &mut <T as FromForm<'v>>::Context, field: ValueField<'v>)
field.source§fn push_data<'life0, 'life1, 'async_trait>(
ctxt: &'life0 mut FromFieldContext<'v, T>,
field: DataField<'v, 'life1>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'v: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
fn push_data<'life0, 'life1, 'async_trait>(
ctxt: &'life0 mut FromFieldContext<'v, T>,
field: DataField<'v, 'life1>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'v: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
field.source§fn finalize(ctxt: <T as FromForm<'v>>::Context) -> Result<T, Errors<'v>>
fn finalize(ctxt: <T as FromForm<'v>>::Context) -> Result<T, Errors<'v>>
Errors otherwise.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoCollection<T> for T
impl<T> IntoCollection<T> for T
§fn into_collection<A>(self) -> SmallVec<A>where
A: Array<Item = T>,
fn into_collection<A>(self) -> SmallVec<A>where
A: Array<Item = T>,
self into a collection.fn mapped<U, F, A>(self, f: F) -> SmallVec<A>where
F: FnMut(T) -> U,
A: Array<Item = U>,
§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
§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();§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
§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();§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
§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();§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
§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();§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);