leptos_use/storage/
use_local_storage.rs1use super::{use_storage_with_options, StorageType, UseStorageOptions};
2use codee::{Decoder, Encoder};
3use leptos::prelude::*;
4use leptos::reactive::wrappers::read::Signal;
5
6#[allow(rustdoc::bare_urls)]
7pub fn use_local_storage<T, C>(
20 key: impl Into<Signal<String>>,
21) -> (Signal<T>, WriteSignal<T>, impl Fn() + Clone + Send + Sync)
22where
23 T: Clone + Default + PartialEq + Send + Sync + 'static,
24 C: Encoder<T, Encoded = String> + Decoder<T, Encoded = str>,
25{
26 use_storage_with_options::<T, C>(
27 StorageType::Local,
28 key,
29 UseStorageOptions::<T, <C as Encoder<T>>::Error, <C as Decoder<T>>::Error>::default(),
30 )
31}
32
33pub fn use_local_storage_with_options<T, C>(
35 key: impl Into<Signal<String>>,
36 options: UseStorageOptions<T, <C as Encoder<T>>::Error, <C as Decoder<T>>::Error>,
37) -> (Signal<T>, WriteSignal<T>, impl Fn() + Clone + Send + Sync)
38where
39 T: Clone + PartialEq + Send + Sync,
40 C: Encoder<T, Encoded = String> + Decoder<T, Encoded = str>,
41{
42 use_storage_with_options::<T, C>(StorageType::Local, key, options)
43}