Skip to main content

Localizable

Struct Localizable 

Source
pub struct Localizable {
    pub key: String,
    pub args: Args,
    pub url: Option<String>,
    pub data: Value,
    pub icon: Option<String>,
    pub badge: Option<u32>,
    pub collapse_id: Option<String>,
    pub loc: Option<LocKeys>,
}
Expand description

A message named rather than written.

key is a Fluent message id whose attributes are .title, .body and optionally .subject (mail only); args are its placeables.

Everything a Notification carries that is not language — the tap target, the icon, the custom payload — is here too, because those do not change with the recipient’s locale.

Fields§

§key: String

The catalog message id: booking-confirmed.

§args: Args

Its placeables: { $coach }, { $count }.

Personal data. A coach’s name, a place, a reference — these are the caller’s values about a person, so they belong in the message that is delivered and nowhere else. Nothing in this module puts one in a log, an event payload or an error.

§url: Option<String>

Where a tap should take the recipient.

§data: Value

The custom payload the app reads.

§icon: Option<String>

An icon for the notification (Web Push).

§badge: Option<u32>

A badge count, for a category that declared badge(true).

§collapse_id: Option<String>

Coalesces with an undelivered notification carrying the same id.

§loc: Option<LocKeys>

The app’s own localisation keys, for a category whose RenderMode is not RenderMode::Server.

These are not this catalog’s ids: they name strings compiled into the iOS and Android apps, which only the app knows. The module cannot invent them, so a caller that wants native rendering passes them, and APNs and FCM get them alongside (or instead of) the server’s text. Web Push has no such mechanism and never sees them.

Implementations§

Source§

impl Localizable

Source

pub fn new(key: impl Into<String>) -> Self

A message naming key, with no arguments.

Source

pub fn arg(self, name: impl Into<String>, value: impl Into<Value>) -> Self

Adds one placeable.

A number must arrive as a number: Fluent selects the plural form from it, and "2" as a string selects other in every language — which reads correctly in English and wrongly in Polish.

Source

pub fn url(self, url: impl Into<String>) -> Self

Where a tap should take the recipient.

Source

pub fn data(self, data: Value) -> Self

The custom payload the app reads.

Source

pub fn icon(self, icon: impl Into<String>) -> Self

An icon for the notification.

Source

pub fn badge(self, badge: u32) -> Self

A badge count, honoured only by a category that declared badge(true).

Source

pub fn collapse_id(self, id: impl Into<String>) -> Self

Coalesces with an undelivered notification carrying the same id.

Source

pub fn loc(self, loc: LocKeys) -> Self

The app’s own localisation keys — see Localizable::loc.

Trait Implementations§

Source§

impl Clone for Localizable

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Localizable

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Localizable

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Localizable

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl From<Localizable> for Message

Source§

fn from(localizable: Localizable) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for Localizable

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for Localizable

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Localizable

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AnyEq for T
where T: Any + PartialEq,

Source§

fn equals(&self, other: &(dyn Any + 'static)) -> bool

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more