UNPKG

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
# 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.