rsiot/components/cmp_leptos/create_signal_from_msg/
config.rs

1use crate::message::{Message, MsgDataBound};
2
3/// Конфигурация create_signal_from_msg
4pub struct Config<TMsg, TValue>
5where
6    TMsg: MsgDataBound + 'static,
7    TValue: Default,
8{
9    /// Значение по-умолчанию
10    ///
11    /// Пример:
12    /// ```rust
13    /// Message::Variant(MsgContent::default())
14    /// ```
15    pub default: Message<TMsg>,
16
17    /// Преобразование сообщения в сигнал чтения
18    ///
19    /// Пример:
20    /// ```rust
21    /// |msg| match msg {
22    ///     Message::Variant(content) => Some(content.clone()),
23    /// _ => None,
24    /// }
25    /// ```
26    pub fn_input: fn(&Message<TMsg>) -> Option<TValue>,
27
28    /// Преоборазование сигнала записи в сообщение
29    ///
30    /// Если сигнал только для чтения:
31    /// ```rust
32    /// |_| None
33    /// ```
34    pub fn_output: fn(TValue) -> Option<Message<TMsg>>,
35}