UNPKG

0xtrails

Version:

SDK for Trails

36 lines (30 loc) 1.03 kB
import { useConfig } from "@0xsequence/hooks" import { SequenceAPIClient } from "@0xsequence/trails-api" import { useMemo } from "react" import { getSequenceApiUrl, getSequenceProjectAccessKey } from "./config.js" export type APIClientConfig = { apiUrl?: string projectAccessKey?: string jwt?: string } export function getAPIClient({ apiUrl = getSequenceApiUrl(), projectAccessKey = getSequenceProjectAccessKey(), jwt, }: APIClientConfig): SequenceAPIClient { return new SequenceAPIClient(apiUrl as string, projectAccessKey, jwt) } export const useAPIClient = (config?: APIClientConfig) => { const { projectAccessKey, jwt, env } = useConfig() const apiClient = useMemo(() => { return getAPIClient({ apiUrl: getSequenceApiUrl() ?? config?.apiUrl ?? env.apiUrl, projectAccessKey: getSequenceProjectAccessKey() ?? config?.projectAccessKey ?? projectAccessKey, jwt: config?.jwt ?? jwt, }) }, [projectAccessKey, jwt, env.apiUrl, config]) return apiClient }