wg-api-sdk
Version:
An SDK that provides auto-generated fetch functions and types for interacting with WeGroup 's APIs, based on the OpenAPI specification file.
101 lines (72 loc) • 2.9 kB
Markdown
# wg-api-sdk
## Overview
`wg-api-sdk` is a Software Development Kit (SDK) that provides auto-generated fetch functions and TypeScript types for interacting with WeGroup's APIs. This SDK is generated based on the OpenAPI specification file, ensuring that the client code stays in sync with the API.
## Features
- Auto-generated fetch functions for seamless API interactions.
- Strongly-typed interfaces and types generated from the OpenAPI specification.
- Easy integration into your TypeScript projects. (tree shakable)
## Installation
To install the `wg-api-sdk`, use npm or yarn:
```bash
npm install wg-api-sdk
```
or
```bash
yarn add wg-api-sdk
```
## NPM package usage
Here's a basic example of how to use the SDK in your project:
```tsx
import { wgApiClient, getPartyById } from 'wg-api-sdk';
// Define api client once (openapi-fetch)
export const apiClient = wgApiClient({ baseUrl: 'xx'});
// See docs -> https://openapi-ts.dev/openapi-fetch/middleware-auth
apiClient.use(myMiddleWare)
// Example function call
const example = async () => {
try {
const data = await getPartyById({
params: {
path: {
party_id: 'e009aed2-72d0-491d-9b76-dea451e91a12'
}
}
}, apiClient)
console.log(data)
} catch {
// Handle error
}
}
```
## Scripts
* **generate**: Generates the TypeScript types from the OpenAPI specification.
* **build:** Builds the SDK using tsup.
* **clear**: Removes the generated source files.
### Generating API Types
To regenerate the API types based on the latest OpenAPI specification, you can use the **generate** script:
```bash
npm run generate
```
This script runs a TypeScript script located at `scripts/index.ts` and then calls the `generate-openapi-types` script to fetch and generate the types fromi the OpenAPI spec.
### Building the SDK
To build the SDK, you can use the provided **build** script:
```bash
npm run build
```
This script uses tsup to compile the TypeScript code and generate the necessary distribution files.
### Clearing Generated Sources
If you need to clear the generated sources, use the clear script:
```bash
npm run clear
```
## Built Using
* [TypeScript](https://www.typescriptlang.org/): A strongly typed programming language that builds on JavaScript.
* [tsup](https://tsup.egoist.dev/): A TypeScript bundler powered by esbuild.
* [tsx](https://github.com/privatenumber/tsx): A fast TypeScript execution environment.
* [openapi-typescript](https://openapi-ts.dev/): Generate TypeScript types from OpenAPI schemas.
* [openapi-fetch](https://openapi-ts.dev/openapi-fetch/): A simple fetch client for OpenAPI.
* [Handlebars](https://handlebarsjs.com/): A simple JavaScript template engine based on [Mustache](https://mustache.github.io/) templates.
## License
This project is licensed under the MIT License.
## Contact
For any questions or support, please contact WeGroup.