diff --git a/src/storage/codec_json.rs b/src/storage/codec_json.rs index c12d3a7..5a834a1 100644 --- a/src/storage/codec_json.rs +++ b/src/storage/codec_json.rs @@ -5,7 +5,7 @@ use super::Codec; /// ## Example /// ``` /// # use leptos::*; -/// # use leptos_use::storage::{StorageType, use_local_storage, use_session_storage, use_storage_with_options, UseStorageOptions, JsonCodec}; +/// # use leptos_use::storage::{StorageType, use_local_storage, use_session_storage, use_storage, UseStorageOptions, JsonCodec}; /// # use serde::{Deserialize, Serialize}; /// # /// # pub fn Demo() -> impl IntoView { @@ -34,7 +34,7 @@ use super::Codec; /// /// ``` /// # use leptos::*; -/// # use leptos_use::storage::{StorageType, use_local_storage, use_session_storage, use_storage_with_options, UseStorageOptions, Codec, JsonCodec}; +/// # use leptos_use::storage::{StorageType, use_local_storage, use_session_storage, use_storage, UseStorageOptions, Codec, JsonCodec}; /// # use serde::{Deserialize, Serialize}; /// # /// # pub fn Demo() -> impl IntoView { @@ -75,7 +75,7 @@ use super::Codec; /// /// ``` /// # use leptos::*; -/// # use leptos_use::storage::{StorageType, use_local_storage, use_session_storage, use_storage_with_options, UseStorageOptions, Codec, JsonCodec}; +/// # use leptos_use::storage::{StorageType, use_local_storage, use_session_storage, use_storage, UseStorageOptions, Codec, JsonCodec}; /// # use serde::{Deserialize, Serialize}; /// # use serde_json::json; /// # diff --git a/src/storage/codec_prost.rs b/src/storage/codec_prost.rs index 1c90ec8..e833410 100644 --- a/src/storage/codec_prost.rs +++ b/src/storage/codec_prost.rs @@ -11,7 +11,7 @@ use thiserror::Error; /// ## Example /// ``` /// # use leptos::*; -/// # use leptos_use::storage::{StorageType, use_local_storage, use_session_storage, use_storage_with_options, UseStorageOptions, ProstCodec}; +/// # use leptos_use::storage::{StorageType, use_local_storage, use_session_storage, use_storage, UseStorageOptions, ProstCodec}; /// # /// # pub fn Demo() -> impl IntoView { /// // Primitive types: diff --git a/src/storage/codec_string.rs b/src/storage/codec_string.rs index 2c16f34..1cae942 100644 --- a/src/storage/codec_string.rs +++ b/src/storage/codec_string.rs @@ -8,7 +8,7 @@ use std::str::FromStr; /// ## Example /// ``` /// # use leptos::*; -/// # use leptos_use::storage::{StorageType, use_local_storage, use_session_storage, use_storage_with_options, UseStorageOptions, StringCodec}; +/// # use leptos_use::storage::{StorageType, use_local_storage, use_session_storage, use_storage, UseStorageOptions, StringCodec}; /// # /// # pub fn Demo() -> impl IntoView { /// let (get, set, remove) = use_local_storage::("my-key"); diff --git a/src/storage/mod.rs b/src/storage/mod.rs index 46da6cb..c5cd494 100644 --- a/src/storage/mod.rs +++ b/src/storage/mod.rs @@ -5,7 +5,7 @@ mod codec_prost; mod codec_string; mod use_local_storage; mod use_session_storage; -mod use_storage_with_options; +mod use_storage; pub use crate::core::StorageType; #[cfg(feature = "serde")] @@ -15,4 +15,4 @@ pub use codec_prost::*; pub use codec_string::*; pub use use_local_storage::*; pub use use_session_storage::*; -pub use use_storage_with_options::*; +pub use use_storage::*; diff --git a/src/storage/use_local_storage.rs b/src/storage/use_local_storage.rs index 44725ce..73d864d 100644 --- a/src/storage/use_local_storage.rs +++ b/src/storage/use_local_storage.rs @@ -1,4 +1,4 @@ -use super::{use_storage_with_options, Codec, StorageType, UseStorageOptions}; +use super::{use_storage, Codec, StorageType, UseStorageOptions}; use leptos::signal_prelude::*; /// Reactive [LocalStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage). @@ -8,7 +8,7 @@ use leptos::signal_prelude::*; /// This is contrast to [`use_session_storage`] which clears data when the page session ends and is not shared. /// /// ## Usage -/// See [`use_storage_with_options`] for more details on how to use. +/// See [`use_storage`] for more details on how to use. pub fn use_local_storage( key: impl AsRef, ) -> (Signal, WriteSignal, impl Fn() + Clone) diff --git a/src/storage/use_session_storage.rs b/src/storage/use_session_storage.rs index 1d7286d..ae6e1eb 100644 --- a/src/storage/use_session_storage.rs +++ b/src/storage/use_session_storage.rs @@ -1,4 +1,4 @@ -use super::{use_storage_with_options, Codec, StorageType, UseStorageOptions}; +use super::{use_storage, Codec, StorageType, UseStorageOptions}; use leptos::signal_prelude::*; /// Reactive [SessionStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage). @@ -8,7 +8,7 @@ use leptos::signal_prelude::*; /// Use [`use_local_storage`] to store data that is shared amongst all pages with the same origin and persists between page sessions. /// /// ## Usage -/// See [`use_storage_with_options`] for more details on how to use. +/// See [`use_storage`] for more details on how to use. pub fn use_session_storage( key: impl AsRef, ) -> (Signal, WriteSignal, impl Fn() + Clone) diff --git a/src/storage/use_storage_with_options.rs b/src/storage/use_storage.rs similarity index 97% rename from src/storage/use_storage_with_options.rs rename to src/storage/use_storage.rs index 076f36d..6456f9f 100644 --- a/src/storage/use_storage_with_options.rs +++ b/src/storage/use_storage.rs @@ -29,7 +29,7 @@ const INTERNAL_STORAGE_EVENT: &str = "leptos-use-storage"; /// /// ``` /// # use leptos::*; -/// # use leptos_use::storage::{StorageType, use_local_storage, use_session_storage, use_storage_with_options, UseStorageOptions, StringCodec, JsonCodec, ProstCodec}; +/// # use leptos_use::storage::{StorageType, use_local_storage, use_session_storage, use_storage, UseStorageOptions, StringCodec, JsonCodec, ProstCodec}; /// # use serde::{Deserialize, Serialize}; /// # /// # pub fn Demo() -> impl IntoView { @@ -71,6 +71,19 @@ const INTERNAL_STORAGE_EVENT: &str = "leptos-use-storage"; /// } /// } /// ``` +#[inline(always)] +pub fn use_storage( + storage_type: StorageType, + key: impl AsRef, +) -> (Signal, WriteSignal, impl Fn() + Clone) +where + T: Clone + PartialEq, + C: Codec, +{ + use_storage_with_options(storage_type, key, UseStorageOptions::default()) +} + +/// Version of [`use_storage`] that accepts [`UseStorageOptions`]. pub fn use_storage_with_options( storage_type: StorageType, key: impl AsRef, diff --git a/src/use_color_mode.rs b/src/use_color_mode.rs index 5f2b781..a9dd6fb 100644 --- a/src/use_color_mode.rs +++ b/src/use_color_mode.rs @@ -1,5 +1,5 @@ use crate::core::{ElementMaybeSignal, MaybeRwSignal}; -use crate::storage::{use_storage_with_options, StringCodec, UseStorageOptions}; +use crate::storage::{use_storage, StringCodec, UseStorageOptions}; use std::fmt::{Display, Formatter}; use std::str::FromStr;