MCPcopy Create free account
hub / github.com/DioxusLabs/dioxus-components / sync_option_state

Function sync_option_state

primitives/src/selection.rs:104–116  ·  view source on GitHub ↗
(options: &mut Vec<OptionState>, option_state: OptionState)

Source from the content-addressed store, hash-verified

102}
103
104fn sync_option_state(options: &mut Vec<OptionState>, option_state: OptionState) {
105 if let Some(position) = options
106 .iter()
107 .position(|option| option.id == option_state.id)
108 {
109 if options[position].index == option_state.index {
110 options[position] = option_state;
111 return;
112 }
113 options.remove(position);
114 }
115 insert_option(options, option_state);
116}
117
118fn insert_option(options: &mut Vec<OptionState>, option_state: OptionState) {
119 let insert_at = options.partition_point(|option| option.index <= option_state.index);

Calls 3

insert_optionFunction · 0.85
iterMethod · 0.80
removeMethod · 0.45