Magical SDK generation from an OpenAPI definition 🪄
api
is a library that facilitates creating an SDK from an OpenAPI definition. You can use its codegen offering to create an opinionated SDK for TypeScript or JS (+ TypeScript types).
$ npx api install https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/examples/v3.0/petstore.json
const petstore = require('@api/petstore');
petstore.listPets().then(({ data }) => {
console.log(`My pets name is ${data[0].name}!`);
});
Or you can use it dynamically (though you won't have fancy TypeScript types to help you out!):
const petstore = require('api')(
'https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/examples/v3.0/petstore.json',
);
petstore.listPets().then(({ data }) => {
console.log(`My pets name is ${data[0].name}!`);
});
The ESM syntax is supported as well:
import api from 'api';
const petstore = api('@petstore/v1.0#tl1e4kl1cl8eg8');
petstore.listPets().then(({ data }) => {
console.log(`My pets name is ${data[0].name}!`);
});