@axiome-apps/echoppe-client
v0.8.1
Published
SDK client typé pour l'API Échoppe — généré depuis l'OpenAPI.
Maintainers
Readme
@axiome-apps/echoppe-client
SDK client typé pour l'API Échoppe — généré depuis le
contrat OpenAPI de l'API. Runtime-agnostique (navigateur, Bun, Node, edge) : repose
uniquement sur fetch.
Installation
bun add @axiome-apps/echoppe-clientUtilisation
import { createEchoppeClient } from '@axiome-apps/echoppe-client';
const echoppe = createEchoppeClient({
baseUrl: 'https://api.maboutique.fr',
});
const { data, error } = await echoppe.GET('/products/');
if (error) throw error;
// `data` est entièrement typé depuis le contrat de l'API
for (const product of data) {
console.log(product.name);
}Les méthodes suivent le contrat OpenAPI via openapi-fetch :
GET, POST, PUT, PATCH, DELETE, avec params.path, params.query et body
typés par route.
const { data } = await echoppe.GET('/products/{id}', {
params: { path: { id: '…' } },
});Authentification
L'API utilise des cookies de session HTTP-only. Le client force
credentials: 'include' — dans un navigateur, les cookies de session sont donc
transmis automatiquement une fois l'utilisateur connecté via les routes d'auth.
Types
Le contrat complet est réexporté pour dériver ses propres types :
import type { paths, components } from '@axiome-apps/echoppe-client';
type Product = components['schemas']['...'];Régénérer depuis l'API
Le SDK est généré depuis l'OpenAPI d'une API en cours d'exécution :
# API des sources (http://localhost:8101) par défaut
bun run generate
# ou une autre instance
CONTRACT_API_URL=https://api.exemple.fr bun run generateCela met à jour openapi.json (snapshot figé du contrat) puis src/openapi.ts.
