UNPKG

@0xsequence/anypay-sdk

Version:

SDK for Anypay functionality

33 lines (27 loc) 885 B
import { SequenceAPIClient } from "@0xsequence/anypay-api" import { useConfig } from "@0xsequence/hooks" import { useMemo } from "react" import { DEFAULT_API_URL } from "./constants.js" export type APIClientConfig = { apiUrl?: string projectAccessKey?: string jwt?: string } export function getAPIClient({ apiUrl = DEFAULT_API_URL, projectAccessKey, 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: config?.apiUrl ?? env.apiUrl, projectAccessKey: config?.projectAccessKey ?? projectAccessKey, jwt: config?.jwt ?? jwt, }) }, [projectAccessKey, jwt, env.apiUrl, config]) return apiClient }