import { useContext } from "react";
import { SettingsProviderContext } from "./SettingsProvider";

export function useSetting<T>(key: string, def?: any): [T, (value: T) => void] {
    const context = useContext(SettingsProviderContext);
    if(!context){
        throw new Error("useSetting must be used within a SettingsProvider");
    }
    
    return [
        context.getSetting(key, def),
        (value: any) => context.setSetting(key, value)
    ]
}