pub trait Host: Sync {
// Required method
fn f64_to_text<'b>(&self, x: f64, buf: &'b mut [u8; 32]) -> Option<&'b str>;
// Provided methods
fn zone_offset(&self, zone: &str, epoch_ms: i64) -> Option<i32> { ... }
fn format_date_time(
&self,
locale: &str,
request: &DateTimeRequest<'_>,
out: &mut dyn Sink,
) -> bool { ... }
fn numbers(&self) -> Option<&dyn NumberFormatter> { ... }
}Expand description
The platform services the runtime needs.
Required Methods§
Sourcefn f64_to_text<'b>(&self, x: f64, buf: &'b mut [u8; 32]) -> Option<&'b str>
fn f64_to_text<'b>(&self, x: f64, buf: &'b mut [u8; 32]) -> Option<&'b str>
The shortest decimal text that round-trips the finite x, written
into buf: any form number-literal accepts, with an optional + in
the exponent (ryu’s 4.2, 1e21, 1.5e-7 and JavaScript’s
String(x) both qualify). None if the host cannot produce it.
Provided Methods§
Sourcefn zone_offset(&self, zone: &str, epoch_ms: i64) -> Option<i32>
fn zone_offset(&self, zone: &str, epoch_ms: i64) -> Option<i32>
The UTC offset, in seconds east, of the IANA time zone zone at the
instant epoch_ms (milliseconds since the epoch). None: the host
has no zone data, or knows no such zone (the default) — a date/time
function that must convert an instant to a named zone then reports
Bad Option and a fallback value (datetime.md allows it; a wall time
in the wrong zone would be worse).
Sourcefn format_date_time(
&self,
locale: &str,
request: &DateTimeRequest<'_>,
out: &mut dyn Sink,
) -> bool
fn format_date_time( &self, locale: &str, request: &DateTimeRequest<'_>, out: &mut dyn Sink, ) -> bool
The intl date formatter: writes request formatted by the host’s date
formatter (the browser’s Intl.DateTimeFormat) for locale, and
returns true; false (the default) when the host has none.
Sourcefn numbers(&self) -> Option<&dyn NumberFormatter>
fn numbers(&self) -> Option<&dyn NumberFormatter>
intl: the host’s number formatter (in the browser Intl.NumberFormat
and Intl.PluralRules, when the engine has Intl.NumberFormat v3);
None (the default) when it has none — the numeric functions of an
intl client then show exact digits and report Unsupported
Operation.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".