@renegade-fi/react
Version:
React library for Renegade
19 lines (13 loc) • 656 B
text/typescript
"use client";
import type { Config } from "@renegade-fi/core";
import { useContext } from "react";
import { RenegadeContext } from "../context.js";
import type { ConfigParameter } from "../types/properties.js";
export type UseConfigParameters<config extends Config = Config> = ConfigParameter<config>;
export type UseConfigReturnType<config extends Config = Config> = config | undefined;
export function useConfig<config extends Config = Config>(
parameters: UseConfigParameters<config> = {},
): UseConfigReturnType<config> {
const config = parameters.config ?? useContext(RenegadeContext);
return config as UseConfigReturnType<config>;
}