@gesagro/jaspion-sdk
v2.0.0
Published
SDK for Jaspion
Readme
@gesagro/jaspion-sdk
SDK para o Jaspion.
O SDK é agnóstico de transporte: ele não faz requisições HTTP diretamente.
Em vez disso, você fornece uma implementação de HttpClient, que pode ser
construída sobre qualquer biblioteca HTTP.
Instalação
npm install @gesagro/jaspion-sdkUso com axios
1. Implemente o HttpClient
O contrato é simples: receber um HttpRequest e devolver um HttpResponse.
import axios, { type AxiosInstance } from 'axios'
import type { HttpClient, HttpRequest, HttpResponse } from '@gesagro/jaspion-sdk'
export class AxiosHttpClient implements HttpClient {
constructor(private readonly instance: AxiosInstance) {}
async request<T>({
method,
path,
body,
headers,
}: HttpRequest): Promise<HttpResponse<T>> {
const response = await this.instance.request<T>({
method,
url: path,
data: body,
headers,
})
return {
status: response.status,
data: response.data,
}
}
}2. Instancie o Jaspion
A baseURL e a autenticação ficam na instância do axios, mantendo o SDK
focado apenas nos recursos da API.
import axios from 'axios'
import { Jaspion } from '@gesagro/jaspion-sdk'
import { AxiosHttpClient } from './axios-http-client'
const instance = axios.create({
baseURL: 'https://api.jaspion.com',
})
const jaspion = new Jaspion({
http: new AxiosHttpClient(instance),
})