@injectivelabs/utils
HttpClient
import { HttpClient } from '@injectivelabs/utils' const client = new HttpClient('YOUR_GRAPHQL_ENDPOINT')
client.setConfig({ headers: { authorization: 'Bearer YOUR_API_KEY' } })
query
variables
const query = JSON.stringify({ query: ` query GetData($id: ID!) { entity(id: $id) { id name value } } `, variables: { id: '123' } }) const response = await client.post<string, { data: { data: YourResponseType } }>('', query) console.log(response.data.data)
import { HttpClient } from '@injectivelabs/utils' interface Token { id: string symbol: string name: string } interface TokensResponse { tokens: Token[] } const client = new HttpClient('YOUR_GRAPHQL_ENDPOINT') // 필요한 경우 인증 헤더 설정 client.setConfig({ headers: { authorization: 'Bearer YOUR_API_KEY' } }) const query = JSON.stringify({ query: ` query GetTokens($first: Int!) { tokens(first: $first, orderBy: symbol) { id symbol name } } `, variables: { first: 10 } }) const response = await client.post<string, { data: { data: TokensResponse } }>('', query) console.log(response.data.data.tokens)
interface GraphQLResponse<T> { data?: T errors?: Array<{ message: string }> } const response = await client.post<string, { data: GraphQLResponse<YourResponseType> }>('', query) if (response.data.errors && response.data.errors.length > 0) { throw new Error(response.data.errors[0].message) } const data = response.data.data