pub struct HistoricalRun {Show 15 fields
pub id: i32,
pub service_id: i32,
pub corpus_id: i32,
pub total: i32,
pub invalid: i32,
pub fatal: i32,
pub error: i32,
pub warning: i32,
pub no_problem: i32,
pub in_progress: i32,
pub start_time: NaiveDateTime,
pub end_time: Option<NaiveDateTime>,
pub owner: String,
pub description: String,
pub public_id: Uuid,
}Expand description
Historical (Corpus, Service) run records
Fields§
§id: i32id of the historical run
service_id: i32id of the service owning this task
corpus_id: i32id of the corpus hosting this task
total: i32total tasks in run
invalid: i32invalid tasks in run
fatal: i32fatal results in run
error: i32error results in run
warning: i32warning results in run
no_problem: i32results with no notable problems in run
in_progress: i32tasks still in progress at end of run
start_time: NaiveDateTimestart timestamp of run
end_time: Option<NaiveDateTime>end timestamp of run, i.e. timestamp of next run initiation
owner: Stringowner who initiated the run
description: Stringdescription of the purpose of this run
public_id: UuidStable external handle (UUIDv7, DB-generated) for referencing this specific run independently of its (corpus, service, start_time) coordinates. Immutable once assigned (Arm 3 / D8).
Implementations§
Source§impl HistoricalRun
impl HistoricalRun
Sourcepub fn find_by(
corpus: &Corpus,
service: &Service,
connection: &mut PgConnection,
) -> Result<Vec<HistoricalRun>, Error>
pub fn find_by( corpus: &Corpus, service: &Service, connection: &mut PgConnection, ) -> Result<Vec<HistoricalRun>, Error>
Obtain all historical runs for a given (Corpus, Service) pair
Sourcepub fn recent_all(
connection: &mut PgConnection,
limit: i64,
) -> Result<Vec<HistoricalRun>, Error>
pub fn recent_all( connection: &mut PgConnection, limit: i64, ) -> Result<Vec<HistoricalRun>, Error>
The most recent historical runs across all corpora/services, newest first — the
system-wide run-management overview. Capped at limit.
Sourcepub fn recent_filtered(
connection: &mut PgConnection,
corpus: Option<i32>,
service: Option<i32>,
owner: Option<&str>,
limit: i64,
) -> Result<Vec<HistoricalRun>, Error>
pub fn recent_filtered( connection: &mut PgConnection, corpus: Option<i32>, service: Option<i32>, owner: Option<&str>, limit: i64, ) -> Result<Vec<HistoricalRun>, Error>
The most recent historical runs, newest first, optionally narrowed to a corpus_id,
service_id, and/or exact owner — the filter-driven run-management overview. Capped at
limit. Any combination of filters may be None (no constraint on that field).
Sourcepub fn find_current(
corpus: &Corpus,
service: &Service,
connection: &mut PgConnection,
) -> Result<Option<HistoricalRun>, Error>
pub fn find_current( corpus: &Corpus, service: &Service, connection: &mut PgConnection, ) -> Result<Option<HistoricalRun>, Error>
Obtain a currently ongoing run entry for a (Corpus, Service) pair, if any
Sourcepub fn mark_completed(
&self,
connection: &mut PgConnection,
) -> Result<bool, Error>
pub fn mark_completed( &self, connection: &mut PgConnection, ) -> Result<bool, Error>
Mark this historical run as completed: freeze its live tallies and set end_time, as an
atomic compare-and-set (WHERE id = ? AND end_time IS NULL). Exactly one caller can ever
close a given run — even under duplicate finalize passes (a re-tried last task that lands
twice) or, hypothetically, concurrent writers — because the open-row predicate lives in the
UPDATE itself, not in a separate read. Returns true iff this call performed the close
(the UPDATE matched the still-open row); false if the run was already closed (a no-op). That
true is the safe edge to hang any run-completion side effect on: it can never double-fire.
Sourcepub fn complete_if_drained(
corpus: i32,
service: i32,
connection: &mut PgConnection,
) -> Result<bool, Error>
pub fn complete_if_drained( corpus: i32, service: i32, connection: &mut PgConnection, ) -> Result<bool, Error>
Run-completion-on-drain. Close the open historical run for a (corpus, service) pair the
moment its work is exhausted — every task has reached a terminal severity, with nothing left
TODO, in-flight (Queued), or Blocked on a prerequisite. Freezes the run’s tallies and
sets end_time (via Self::mark_completed), so a finished run stops reading as “ongoing”
immediately, instead of only when the next rerun supersedes it (the lazy
mark_new_run path that left a run “ongoing” until the very
minute the next run started). Returns true iff a run was actually closed.
Idempotent and safe to call repeatedly from the dispatcher’s finalize loop: a no-op when work
still remains, when there is no open run (already closed, or never started), or for the
bookkeeping services init (1) / import (2) — those are not user-facing conversion runs and
are skipped.
Sourcepub fn with_live_tallies(self, connection: &mut PgConnection) -> HistoricalRun
pub fn with_live_tallies(self, connection: &mut PgConnection) -> HistoricalRun
Returns this run with its per-severity tallies reflecting live task state when the run is
still open (end_time is None). A run only freezes its tallies at Self::mark_completed
(i.e. when the next run supersedes it), so an open run’s stored tallies are all zero;
overlaying the current progress makes the in-progress run show its real state across the
run-management surfaces — the “live + historical run state” north star — instead of a
misleading row of zeros (most visible on the current run and the dashboard’s “last run”).
A completed run is returned unchanged: its frozen snapshot is authoritative and this is a
no-op (no extra query). Cost is one grouped progress_report per open run only.
Sourcepub fn overlay_live_tallies(
runs: Vec<HistoricalRun>,
connection: &mut PgConnection,
) -> Vec<HistoricalRun>
pub fn overlay_live_tallies( runs: Vec<HistoricalRun>, connection: &mut PgConnection, ) -> Vec<HistoricalRun>
Overlays live tallies onto every open run in runs using a single batched query,
replacing the per-open-run with_live_tallies N+1 that made the
system-wide run overview cost one progress_report per open run (O(open runs) — a real drag
when many corpora convert at once). Completed runs keep their frozen tallies untouched. Use
this for any multi-(corpus, service) run list; a single-pair list (≤1 open run) can
keep with_live_tallies.
Trait Implementations§
Source§impl<__FK> BelongsTo<&Corpus> for HistoricalRunwhere
__FK: Hash + Eq,
for<'__a> &'__a i32: Into<Option<&'__a __FK>>,
for<'__a> &'__a Corpus: Identifiable<Id = &'__a __FK>,
impl<__FK> BelongsTo<&Corpus> for HistoricalRunwhere
__FK: Hash + Eq,
for<'__a> &'__a i32: Into<Option<&'__a __FK>>,
for<'__a> &'__a Corpus: Identifiable<Id = &'__a __FK>,
Source§type ForeignKey = __FK
type ForeignKey = __FK
Source§type ForeignKeyColumn = corpus_id
type ForeignKeyColumn = corpus_id
Source§fn foreign_key(&self) -> Option<&Self::ForeignKey>
fn foreign_key(&self) -> Option<&Self::ForeignKey>
selfSource§fn foreign_key_column() -> Self::ForeignKeyColumn
fn foreign_key_column() -> Self::ForeignKeyColumn
Source§impl<__FK> BelongsTo<&Service> for HistoricalRunwhere
__FK: Hash + Eq,
for<'__a> &'__a i32: Into<Option<&'__a __FK>>,
for<'__a> &'__a Service: Identifiable<Id = &'__a __FK>,
impl<__FK> BelongsTo<&Service> for HistoricalRunwhere
__FK: Hash + Eq,
for<'__a> &'__a i32: Into<Option<&'__a __FK>>,
for<'__a> &'__a Service: Identifiable<Id = &'__a __FK>,
Source§type ForeignKey = __FK
type ForeignKey = __FK
Source§type ForeignKeyColumn = service_id
type ForeignKeyColumn = service_id
Source§fn foreign_key(&self) -> Option<&Self::ForeignKey>
fn foreign_key(&self) -> Option<&Self::ForeignKey>
selfSource§fn foreign_key_column() -> Self::ForeignKeyColumn
fn foreign_key_column() -> Self::ForeignKeyColumn
Source§impl<__FK> BelongsTo<Corpus> for HistoricalRunwhere
__FK: Hash + Eq,
for<'__a> &'__a i32: Into<Option<&'__a __FK>>,
for<'__a> &'__a Corpus: Identifiable<Id = &'__a __FK>,
impl<__FK> BelongsTo<Corpus> for HistoricalRunwhere
__FK: Hash + Eq,
for<'__a> &'__a i32: Into<Option<&'__a __FK>>,
for<'__a> &'__a Corpus: Identifiable<Id = &'__a __FK>,
Source§type ForeignKey = __FK
type ForeignKey = __FK
Source§type ForeignKeyColumn = corpus_id
type ForeignKeyColumn = corpus_id
Source§fn foreign_key(&self) -> Option<&Self::ForeignKey>
fn foreign_key(&self) -> Option<&Self::ForeignKey>
selfSource§fn foreign_key_column() -> Self::ForeignKeyColumn
fn foreign_key_column() -> Self::ForeignKeyColumn
Source§impl<__FK> BelongsTo<Service> for HistoricalRunwhere
__FK: Hash + Eq,
for<'__a> &'__a i32: Into<Option<&'__a __FK>>,
for<'__a> &'__a Service: Identifiable<Id = &'__a __FK>,
impl<__FK> BelongsTo<Service> for HistoricalRunwhere
__FK: Hash + Eq,
for<'__a> &'__a i32: Into<Option<&'__a __FK>>,
for<'__a> &'__a Service: Identifiable<Id = &'__a __FK>,
Source§type ForeignKey = __FK
type ForeignKey = __FK
Source§type ForeignKeyColumn = service_id
type ForeignKeyColumn = service_id
Source§fn foreign_key(&self) -> Option<&Self::ForeignKey>
fn foreign_key(&self) -> Option<&Self::ForeignKey>
selfSource§fn foreign_key_column() -> Self::ForeignKeyColumn
fn foreign_key_column() -> Self::ForeignKeyColumn
Source§impl Clone for HistoricalRun
impl Clone for HistoricalRun
Source§fn clone(&self) -> HistoricalRun
fn clone(&self) -> HistoricalRun
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HistoricalRun
impl Debug for HistoricalRun
impl Eq for HistoricalRun
Source§impl From<HistoricalRun> for RunDto
impl From<HistoricalRun> for RunDto
Source§fn from(run: HistoricalRun) -> RunDto
fn from(run: HistoricalRun) -> RunDto
Source§impl From<HistoricalRun> for RunMetadata
impl From<HistoricalRun> for RunMetadata
Source§fn from(run: HistoricalRun) -> RunMetadata
fn from(run: HistoricalRun) -> RunMetadata
Source§impl HasTable for HistoricalRun
impl HasTable for HistoricalRun
Source§impl<'ident> Identifiable for &'ident HistoricalRun
impl<'ident> Identifiable for &'ident HistoricalRun
Source§impl PartialEq for HistoricalRun
impl PartialEq for HistoricalRun
Source§fn eq(&self, other: &HistoricalRun) -> bool
fn eq(&self, other: &HistoricalRun) -> bool
self and other values to be equal, and is used by ==.Source§impl<__DB: Backend, __ST0, __ST1, __ST2, __ST3, __ST4, __ST5, __ST6, __ST7, __ST8, __ST9, __ST10, __ST11, __ST12, __ST13, __ST14> Queryable<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5, __ST6, __ST7, __ST8, __ST9, __ST10, __ST11, __ST12, __ST13, __ST14), __DB> for HistoricalRun
impl<__DB: Backend, __ST0, __ST1, __ST2, __ST3, __ST4, __ST5, __ST6, __ST7, __ST8, __ST9, __ST10, __ST11, __ST12, __ST13, __ST14> Queryable<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5, __ST6, __ST7, __ST8, __ST9, __ST10, __ST11, __ST12, __ST13, __ST14), __DB> for HistoricalRun
Source§impl<__DB: Backend> QueryableByName<__DB> for HistoricalRunwhere
i32: FromSql<SqlTypeOf<id>, __DB> + FromSql<SqlTypeOf<service_id>, __DB> + FromSql<SqlTypeOf<corpus_id>, __DB> + FromSql<SqlTypeOf<total>, __DB> + FromSql<SqlTypeOf<invalid>, __DB> + FromSql<SqlTypeOf<fatal>, __DB> + FromSql<SqlTypeOf<error>, __DB> + FromSql<SqlTypeOf<warning>, __DB> + FromSql<SqlTypeOf<no_problem>, __DB> + FromSql<SqlTypeOf<in_progress>, __DB>,
NaiveDateTime: FromSql<SqlTypeOf<start_time>, __DB>,
Option<NaiveDateTime>: FromSql<SqlTypeOf<end_time>, __DB>,
String: FromSql<SqlTypeOf<owner>, __DB> + FromSql<SqlTypeOf<description>, __DB>,
Uuid: FromSql<SqlTypeOf<public_id>, __DB>,
impl<__DB: Backend> QueryableByName<__DB> for HistoricalRunwhere
i32: FromSql<SqlTypeOf<id>, __DB> + FromSql<SqlTypeOf<service_id>, __DB> + FromSql<SqlTypeOf<corpus_id>, __DB> + FromSql<SqlTypeOf<total>, __DB> + FromSql<SqlTypeOf<invalid>, __DB> + FromSql<SqlTypeOf<fatal>, __DB> + FromSql<SqlTypeOf<error>, __DB> + FromSql<SqlTypeOf<warning>, __DB> + FromSql<SqlTypeOf<no_problem>, __DB> + FromSql<SqlTypeOf<in_progress>, __DB>,
NaiveDateTime: FromSql<SqlTypeOf<start_time>, __DB>,
Option<NaiveDateTime>: FromSql<SqlTypeOf<end_time>, __DB>,
String: FromSql<SqlTypeOf<owner>, __DB> + FromSql<SqlTypeOf<description>, __DB>,
Uuid: FromSql<SqlTypeOf<public_id>, __DB>,
impl StructuralPartialEq for HistoricalRun
Auto Trait Implementations§
impl Freeze for HistoricalRun
impl RefUnwindSafe for HistoricalRun
impl Send for HistoricalRun
impl Sync for HistoricalRun
impl Unpin for HistoricalRun
impl UnsafeUnpin for HistoricalRun
impl UnwindSafe for HistoricalRun
Blanket Implementations§
§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
§fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
DISTINCT modifier for aggregate functions Read more§fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
ALL modifier for aggregate functions Read more§fn aggregate_filter<P>(self, f: P) -> Self::Outputwhere
P: AsExpression<Bool>,
Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,
fn aggregate_filter<P>(self, f: P) -> Self::Outputwhere
P: AsExpression<Bool>,
Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,
§fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
§impl<'a, Parent, Child> BelongingToDsl<&'a Vec<Parent>> for Childwhere
Child: BelongingToDsl<&'a [Parent]>,
impl<'a, Parent, Child> BelongingToDsl<&'a Vec<Parent>> for Childwhere
Child: BelongingToDsl<&'a [Parent]>,
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync 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
§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
self with key and returns true if they are equal.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<DB, T> FromSqlRow<Untyped, DB> for Twhere
DB: Backend,
T: QueryableByName<DB>,
impl<DB, T> FromSqlRow<Untyped, DB> for Twhere
DB: Backend,
T: QueryableByName<DB>,
§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>,
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> IntoSql for T
impl<T> IntoSql for T
§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>
renamed to 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);