pub struct OpChainSpec {
pub inner: ChainSpec,
}
optimism
only.Expand description
OP stack chain spec type.
Fields§
§inner: ChainSpec
Implementations§
Source§impl OpChainSpec
impl OpChainSpec
pub const fn new(inner: ChainSpec) -> OpChainSpec
Source§impl OpChainSpec
impl OpChainSpec
Sourcepub fn decode_holocene_base_fee(
&self,
parent: &Header,
timestamp: u64,
) -> Result<u64, EIP1559ParamError>
pub fn decode_holocene_base_fee( &self, parent: &Header, timestamp: u64, ) -> Result<u64, EIP1559ParamError>
Extracts the Holocene 1599 parameters from the encoded extra data from the parent header.
Caution: Caller must ensure that holocene is active in the parent header.
See also Base fee computation
Sourcepub fn next_block_base_fee(
&self,
parent: &Header,
timestamp: u64,
) -> Result<Uint<256, 4>, EIP1559ParamError>
pub fn next_block_base_fee( &self, parent: &Header, timestamp: u64, ) -> Result<Uint<256, 4>, EIP1559ParamError>
Read from parent to determine the base fee for the next block
See also Base fee computation
Methods from Deref<Target = ChainSpec>§
Sourcepub fn is_ethereum(&self) -> bool
pub fn is_ethereum(&self) -> bool
Returns true
if this chain contains Ethereum configuration.
Sourcepub fn is_optimism_mainnet(&self) -> bool
pub fn is_optimism_mainnet(&self) -> bool
Returns true
if this chain is Optimism mainnet.
Sourcepub fn paris_block(&self) -> Option<u64>
pub fn paris_block(&self) -> Option<u64>
Returns the known paris block, if it exists.
Sourcepub fn genesis(&self) -> &Genesis
pub fn genesis(&self) -> &Genesis
Get the genesis block specification.
To get the header for the genesis block, use Self::genesis_header
instead.
Sourcepub fn genesis_header(&self) -> &Header
pub fn genesis_header(&self) -> &Header
Get the header for the genesis block.
Sourcepub fn sealed_genesis_header(&self) -> SealedHeader
pub fn sealed_genesis_header(&self) -> SealedHeader
Get the sealed header for the genesis block.
Sourcepub fn initial_base_fee(&self) -> Option<u64>
pub fn initial_base_fee(&self) -> Option<u64>
Get the initial base fee of the genesis block.
Sourcepub fn base_fee_params_at_timestamp(&self, timestamp: u64) -> BaseFeeParams
pub fn base_fee_params_at_timestamp(&self, timestamp: u64) -> BaseFeeParams
Get the [BaseFeeParams
] for the chain at the given timestamp.
Sourcepub fn base_fee_params_at_block(&self, block_number: u64) -> BaseFeeParams
pub fn base_fee_params_at_block(&self, block_number: u64) -> BaseFeeParams
Get the [BaseFeeParams
] for the chain at the given block number
Sourcepub fn genesis_hash(&self) -> FixedBytes<32>
pub fn genesis_hash(&self) -> FixedBytes<32>
Get the hash of the genesis block.
Sourcepub fn genesis_timestamp(&self) -> u64
pub fn genesis_timestamp(&self) -> u64
Get the timestamp of the genesis block.
Sourcepub fn get_final_paris_total_difficulty(&self) -> Option<Uint<256, 4>>
pub fn get_final_paris_total_difficulty(&self) -> Option<Uint<256, 4>>
Returns the final total difficulty if the Paris hardfork is known.
Sourcepub fn final_paris_total_difficulty(
&self,
block_number: u64,
) -> Option<Uint<256, 4>>
pub fn final_paris_total_difficulty( &self, block_number: u64, ) -> Option<Uint<256, 4>>
Returns the final total difficulty if the given block number is after the Paris hardfork.
Note: technically this would also be valid for the block before the paris upgrade, but this edge case is omitted here.
Sourcepub fn hardfork_fork_filter<H>(&self, fork: H) -> Option<ForkFilter>where
H: Hardfork + Clone,
pub fn hardfork_fork_filter<H>(&self, fork: H) -> Option<ForkFilter>where
H: Hardfork + Clone,
Get the fork filter for the given hardfork
Sourcepub fn display_hardforks(&self) -> DisplayHardforks
pub fn display_hardforks(&self) -> DisplayHardforks
Returns the hardfork display helper.
Sourcepub fn hardfork_fork_id<H>(&self, fork: H) -> Option<ForkId>where
H: Hardfork + Clone,
pub fn hardfork_fork_id<H>(&self, fork: H) -> Option<ForkId>where
H: Hardfork + Clone,
Get the fork id for the given hardfork.
Sourcepub fn shanghai_fork_id(&self) -> Option<ForkId>
pub fn shanghai_fork_id(&self) -> Option<ForkId>
Convenience method to get the fork id for [EthereumHardfork::Shanghai
] from a given
chainspec.
Sourcepub fn cancun_fork_id(&self) -> Option<ForkId>
pub fn cancun_fork_id(&self) -> Option<ForkId>
Convenience method to get the fork id for [EthereumHardfork::Cancun
] from a given
chainspec.
Sourcepub fn latest_fork_id(&self) -> ForkId
pub fn latest_fork_id(&self) -> ForkId
Convenience method to get the latest fork id from the chainspec. Panics if chainspec has no hardforks.
Sourcepub fn fork_filter(&self, head: Head) -> ForkFilter
pub fn fork_filter(&self, head: Head) -> ForkFilter
Creates a [ForkFilter
] for the block described by [Head].
Methods from Deref<Target = ChainHardforks>§
pub fn fork<H>(&self, fork: H) -> ForkConditionwhere
H: Hardfork,
pub fn fork<H>(&self, fork: H) -> ForkConditionwhere
H: Hardfork,
Retrieves [ForkCondition
] from fork
. If fork
is not present, returns
[ForkCondition::Never
].
pub fn get<H>(&self, fork: H) -> Option<ForkCondition>where
H: Hardfork,
pub fn get<H>(&self, fork: H) -> Option<ForkCondition>where
H: Hardfork,
Retrieves [ForkCondition
] from fork
if it exists, otherwise None
.
pub fn fork_block<H>(&self, fork: H) -> Option<u64>where
H: Hardfork,
pub fn fork_block<H>(&self, fork: H) -> Option<u64>where
H: Hardfork,
Retrieves the fork block number or timestamp from fork
if it exists, otherwise None
.
pub fn forks_iter(
&self,
) -> impl Iterator<Item = (&(dyn Hardfork + 'static), ForkCondition)>
pub fn forks_iter( &self, ) -> impl Iterator<Item = (&(dyn Hardfork + 'static), ForkCondition)>
Get an iterator of all hardforks with their respective activation conditions.
pub fn is_fork_active_at_timestamp<H>(&self, fork: H, timestamp: u64) -> boolwhere
H: Hardfork,
pub fn is_fork_active_at_timestamp<H>(&self, fork: H, timestamp: u64) -> boolwhere
H: Hardfork,
Convenience method to check if a fork is active at a given timestamp.
pub fn is_fork_active_at_block<H>(&self, fork: H, block_number: u64) -> boolwhere
H: Hardfork,
pub fn is_fork_active_at_block<H>(&self, fork: H, block_number: u64) -> boolwhere
H: Hardfork,
Convenience method to check if a fork is active at a given block number.
Trait Implementations§
Source§impl Clone for OpChainSpec
impl Clone for OpChainSpec
Source§fn clone(&self) -> OpChainSpec
fn clone(&self) -> OpChainSpec
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for OpChainSpec
impl Debug for OpChainSpec
Source§impl Deref for OpChainSpec
impl Deref for OpChainSpec
Source§impl EthChainSpec for OpChainSpec
impl EthChainSpec for OpChainSpec
Source§fn base_fee_params_at_block(&self, block_number: u64) -> BaseFeeParams
fn base_fee_params_at_block(&self, block_number: u64) -> BaseFeeParams
BaseFeeParams
] for the chain at the given block.Source§fn base_fee_params_at_timestamp(&self, timestamp: u64) -> BaseFeeParams
fn base_fee_params_at_timestamp(&self, timestamp: u64) -> BaseFeeParams
BaseFeeParams
] for the chain at the given timestamp.Source§fn deposit_contract(&self) -> Option<&DepositContract>
fn deposit_contract(&self) -> Option<&DepositContract>
Source§fn genesis_hash(&self) -> FixedBytes<32>
fn genesis_hash(&self) -> FixedBytes<32>
Source§fn prune_delete_limit(&self) -> usize
fn prune_delete_limit(&self) -> usize
Source§fn display_hardforks(&self) -> Box<dyn Display>
fn display_hardforks(&self) -> Box<dyn Display>
Source§fn genesis_header(&self) -> &<OpChainSpec as EthChainSpec>::Header
fn genesis_header(&self) -> &<OpChainSpec as EthChainSpec>::Header
Source§fn is_optimism(&self) -> bool
fn is_optimism(&self) -> bool
true
if this chain contains Optimism configuration.Source§fn is_ethereum(&self) -> bool
fn is_ethereum(&self) -> bool
true
if this chain contains Ethereum configuration.Source§impl EthereumHardforks for OpChainSpec
impl EthereumHardforks for OpChainSpec
Source§fn get_final_paris_total_difficulty(&self) -> Option<Uint<256, 4>>
fn get_final_paris_total_difficulty(&self) -> Option<Uint<256, 4>>
Source§fn final_paris_total_difficulty(
&self,
block_number: u64,
) -> Option<Uint<256, 4>>
fn final_paris_total_difficulty( &self, block_number: u64, ) -> Option<Uint<256, 4>>
§fn is_shanghai_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_shanghai_active_at_timestamp(&self, timestamp: u64) -> bool
EthereumHardfork::Shanghai
] is active at a given
timestamp.§fn is_cancun_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_cancun_active_at_timestamp(&self, timestamp: u64) -> bool
EthereumHardfork::Cancun
] is active at a given timestamp.§fn is_prague_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_prague_active_at_timestamp(&self, timestamp: u64) -> bool
EthereumHardfork::Prague
] is active at a given timestamp.§fn is_osaka_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_osaka_active_at_timestamp(&self, timestamp: u64) -> bool
EthereumHardfork::Osaka
] is active at a given timestamp.§fn is_byzantium_active_at_block(&self, block_number: u64) -> bool
fn is_byzantium_active_at_block(&self, block_number: u64) -> bool
EthereumHardfork::Byzantium
] is active at a given block
number.§fn is_spurious_dragon_active_at_block(&self, block_number: u64) -> bool
fn is_spurious_dragon_active_at_block(&self, block_number: u64) -> bool
EthereumHardfork::SpuriousDragon
] is active at a given
block number.§fn is_homestead_active_at_block(&self, block_number: u64) -> bool
fn is_homestead_active_at_block(&self, block_number: u64) -> bool
EthereumHardfork::Homestead
] is active at a given block
number.§fn is_paris_active_at_block(&self, block_number: u64) -> Option<bool>
fn is_paris_active_at_block(&self, block_number: u64) -> Option<bool>
Source§impl From<Genesis> for OpChainSpec
impl From<Genesis> for OpChainSpec
Source§fn from(genesis: Genesis) -> OpChainSpec
fn from(genesis: Genesis) -> OpChainSpec
Source§impl From<OpChainSpec> for ChainSpec
impl From<OpChainSpec> for ChainSpec
Source§fn from(value: OpChainSpec) -> ChainSpec
fn from(value: OpChainSpec) -> ChainSpec
Source§impl Hardforks for OpChainSpec
impl Hardforks for OpChainSpec
Source§fn fork<H>(&self, fork: H) -> ForkConditionwhere
H: Hardfork,
fn fork<H>(&self, fork: H) -> ForkConditionwhere
H: Hardfork,
ForkCondition
] from fork
. If fork
is not present, returns
[ForkCondition::Never
].Source§fn forks_iter(
&self,
) -> impl Iterator<Item = (&(dyn Hardfork + 'static), ForkCondition)>
fn forks_iter( &self, ) -> impl Iterator<Item = (&(dyn Hardfork + 'static), ForkCondition)>
Source§fn fork_id(&self, head: &Head) -> ForkId
fn fork_id(&self, head: &Head) -> ForkId
ForkId
] for the given [Head
] following eip-6122 specSource§fn latest_fork_id(&self) -> ForkId
fn latest_fork_id(&self) -> ForkId
ForkId
] for the last fork.Source§fn fork_filter(&self, head: Head) -> ForkFilter
fn fork_filter(&self, head: Head) -> ForkFilter
ForkFilter
] for the block described by [Head].§fn is_fork_active_at_timestamp<H>(&self, fork: H, timestamp: u64) -> boolwhere
H: Hardfork,
fn is_fork_active_at_timestamp<H>(&self, fork: H, timestamp: u64) -> boolwhere
H: Hardfork,
§fn is_fork_active_at_block<H>(&self, fork: H, block_number: u64) -> boolwhere
H: Hardfork,
fn is_fork_active_at_block<H>(&self, fork: H, block_number: u64) -> boolwhere
H: Hardfork,
Source§impl OpHardforks for OpChainSpec
impl OpHardforks for OpChainSpec
§fn is_bedrock_active_at_block(&self, block_number: u64) -> bool
fn is_bedrock_active_at_block(&self, block_number: u64) -> bool
OpHardfork::Bedrock
is active at a given block
number.§fn is_regolith_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_regolith_active_at_timestamp(&self, timestamp: u64) -> bool
true
if Regolith
is active at given block
timestamp.§fn is_canyon_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_canyon_active_at_timestamp(&self, timestamp: u64) -> bool
true
if Canyon
is active at given block timestamp.§fn is_ecotone_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_ecotone_active_at_timestamp(&self, timestamp: u64) -> bool
true
if Ecotone
is active at given block timestamp.§fn is_fjord_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_fjord_active_at_timestamp(&self, timestamp: u64) -> bool
true
if Fjord
is active at given block timestamp.§fn is_granite_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_granite_active_at_timestamp(&self, timestamp: u64) -> bool
true
if Granite
is active at given block timestamp.§fn is_holocene_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_holocene_active_at_timestamp(&self, timestamp: u64) -> bool
true
if Holocene
is active at given block
timestamp.§fn is_isthmus_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_isthmus_active_at_timestamp(&self, timestamp: u64) -> bool
true
if Isthmus
is active at given block
timestamp.Source§impl PartialEq for OpChainSpec
impl PartialEq for OpChainSpec
impl Eq for OpChainSpec
impl StructuralPartialEq for OpChainSpec
Auto Trait Implementations§
impl !Freeze for OpChainSpec
impl !RefUnwindSafe for OpChainSpec
impl Send for OpChainSpec
impl Sync for OpChainSpec
impl Unpin for OpChainSpec
impl !UnwindSafe for OpChainSpec
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,
§impl<T> Conv for T
impl<T> Conv for T
§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.§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
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.§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§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>
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 more§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 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.§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);
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeDebug for Twhere
T: Debug,
impl<T> MaybeSend for Twhere
T: Send,
impl<T> MaybeSendSync for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 1792 bytes