@selfcommunity/react-core
Version:
React Core Components useful for integrating UI Community components (react-ui).
37 lines (36 loc) • 1.6 kB
TypeScript
/**
* Custom hook to recover a given preference.
* @param preferenceKey - full preference key (e.g., 'section.name')
* @param defaultValue - default returned value
* @returns the preference value or undefined/defaultValue if doesn't exist
*
* Ex.
* const customValue = useSCPreference<string>(SCPreferences.CUSTOM_SETTING);
* const numericValue = useSCPreference<number>(SCPreferences.CUSTOM_SETTING, 0);
*/
declare function useSCPreference<T = any>(preferenceKey: string, defaultValue?: T): T | undefined;
/**
* Custom hook to check if a given preference is present and has a value.
* @param preferenceKey - full preference key (e.g., 'section.name')
* @param defaultValue - default returned value (default=false)
* @returns boolean
*
* Ex.
* const isEnabled = useSCPreferenceEnabled(SCPreferences.CONFIGURATIONS_CONNECTION_ENABLED);
**/
declare function useSCPreferenceEnabled(preferenceKey: string, defaultValue?: boolean): boolean;
/**
* Custom hook to check if all specified preferences are enabled
* @param preferenceKeys - Array of preference keys to check
* @param defaultValue - Default value if a preference doesn't exist
* @returns boolean - true if all preferences are enabled
*
* Ex.
* const arePreferencesEnabled = useSCPreferencesEnabled([
* SCPreferences.CONFIGURATIONS_POST_USER_ADDRESSING_ENABLED,
* SCPreferences.CONFIGURATIONS_SCHEDULED_POSTS_ENABLED
* ]);
*/
declare function useSCPreferencesEnabled(preferenceKeys: string[], defaultValue?: boolean): boolean;
export { useSCPreferenceEnabled, useSCPreferencesEnabled };
export default useSCPreference;