UNPKG

chiyum-composable

Version:
126 lines (104 loc) 3.21 kB
import { ComputedRef } from 'vue'; import { Ref } from 'vue'; import { UnwrapRef } from 'vue'; export declare const composables: { useCounter: typeof useCounter; useLocalStorage: typeof useLocalStorage; useDebounce: typeof useDebounce; useFetch: typeof useFetch; }; export { ComputedRef } /** * 檢查是否為瀏覽器環境 */ export declare const isClient: boolean; /** * 檢查是否支援 LocalStorage */ export declare const isLocalStorageSupported: () => boolean; export declare type MaybeRef<T> = T | Ref<T>; export declare type MaybeRefOrGetter<T> = T | Ref<T> | (() => T); export { Ref } /** * 安全的 JSON 解析 * @param str 要解析的字串 * @param fallback 解析失敗時的備用值 */ export declare function safeJsonParse<T>(str: string, fallback: T): T; /** * 安全地取得 ref 或普通值 * @param val 可能是 ref 或普通值 * @returns 解除 ref 後的值 */ export declare function toValue<T>(val: MaybeRef<T>): T; export { UnwrapRef } /** * 計數器 Composable * @param initialValue 初始值,預設為 0 * @param options 選項配置 * @returns 計數器相關的響應式數據和方法 */ export declare function useCounter(initialValue?: number, options?: UseCounterOptions_2): UseCounterReturn_2; export declare interface UseCounterOptions { min?: number; max?: number; step?: number; } declare interface UseCounterOptions_2 { min?: number; max?: number; step?: number; } export declare interface UseCounterReturn { count: Ref<number>; doubleCount: ComputedRef<number>; increment: () => void; decrement: () => void; set: (value: number) => void; reset: () => void; canIncrement: ComputedRef<boolean>; canDecrement: ComputedRef<boolean>; } declare interface UseCounterReturn_2 { count: Ref<number>; doubleCount: Ref<number>; increment: () => void; decrement: () => void; set: (value: number) => void; reset: () => void; canIncrement: Ref<boolean>; canDecrement: Ref<boolean>; } /** * 防抖 Composable * @param value 要防抖的響應式值 * @param delay 延遲時間(毫秒) * @returns 防抖後的響應式值 */ export declare function useDebounce<T>(value: Ref<T>, delay?: number): Ref<T>; /** * Fetch Composable * @param url 請求的 URL * @returns Fetch 相關的響應式狀態和執行函數 */ export declare function useFetch<T = any>(url: string): UseFetchReturn_2<T>; export declare interface UseFetchReturn<T> { data: Ref<T | null>; error: Ref<string | null>; loading: Ref<boolean>; execute: () => Promise<void>; } declare interface UseFetchReturn_2<T> { data: Ref<T | null>; error: Ref<string | null>; loading: Ref<boolean>; execute: () => Promise<void>; } /** * LocalStorage Composable * @param key LocalStorage 的鍵名 * @param defaultValue 預設值 * @returns 響應式的 LocalStorage 值和設定函數 */ export declare function useLocalStorage<T>(key: string, defaultValue: T): [Ref<T>, (value: T) => void]; export { }