Skip to main content

Host

Trait Host 

Source
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§

Source

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§

Source

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).

Source

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.

Source

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".

Implementors§