Skip to main content

tree_table/args/
args_item.rs

1use crate::Val;
2use alloc::string::String;
3use alloc::vec::Vec;
4
5#[cfg(feature = "serde")]
6use crate::statics::default_emit_event_for_api;
7#[cfg(feature = "serde")]
8use crate::statics::default_save_selection_for_api;
9#[cfg(feature = "serde")]
10use crate::statics::default_undo_for_api;
11#[cfg(feature = "serde")]
12use crate::statics::get_true;
13
14#[cfg_attr(feature = "tsify", derive(tsify::Tsify))]
15#[cfg_attr(feature = "tsify", tsify(from_wasm_abi))]
16#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
17#[derive(Debug, Clone, PartialEq)]
18pub struct ItemArgs {
19    pub item: String,
20    pub iid: Option<String>,
21    pub val: Option<Val>,
22    pub vals: Option<Vec<(String, Val)>>,
23    pub open: Option<bool>,
24    #[cfg_attr(feature = "serde", serde(default = "get_true"))]
25    pub ignore_fmt_errs: bool,
26    #[cfg_attr(feature = "serde", serde(default))]
27    pub fmt_normalize: bool,
28    #[cfg_attr(feature = "serde", serde(default = "default_emit_event_for_api"))]
29    pub emit: bool,
30    #[cfg_attr(feature = "serde", serde(default = "default_undo_for_api"))]
31    pub undo: bool,
32    #[cfg_attr(feature = "serde", serde(default = "default_save_selection_for_api"))]
33    pub save_selection: bool,
34}
35
36#[cfg_attr(feature = "tsify", derive(tsify::Tsify))]
37#[cfg_attr(feature = "tsify", tsify(from_wasm_abi))]
38#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
39#[derive(Debug, Clone, PartialEq)]
40pub struct ItemResult {
41    pub pos: u64,
42    pub val: Val,
43    pub values: Vec<Val>,
44    pub open: bool,
45}