This project was created using samchon's nestia. His project has a function to create SDKs using swagger, which was created using that function. The swagger that became the basis of SDK generation is the swagger provided by github. So, it is probably the most accurate SDK for now.
/**
* List repositories for a user.
* Lists public repositories for the specified user.
*
* @tag repos
* @path users/:username/repos
* @nestia Generated by Nestia - https://github.com/samchon/nestia
*/
export declare function getByUsername(connection: IConnection<getByUsername.Headers>, username: string, query: getByUsername.Query): Promise<getByUsername.Output>;
export declare namespace getByUsername {
type Headers = IApiUsersRepos.GetHeader;
type Query = IApiUsersRepos.GetQuery;
type Output = minimal_minus_repository[];
const METADATA: {
readonly method: "GET";
readonly path: "/users/:username/repos";
readonly request: null;
readonly response: {
readonly type: "application/json";
readonly encrypted: false;
};
};
const path: (username: string, query: getByUsername.Query) => string;
const random: (g?: Partial<typia.IRandomGenerator>) => minimal_minus_repository[];
const simulate: (connection: IConnection<getByUsername.Headers>, username: string, query: getByUsername.Query) => Output;
}
import * as GithubSDK from "@kakasoo/github-sdk";
// GET /users/:username/repos
GithubSDK.functional.users.repos
.getByUsername(
{
host: "http://api.github.com",
headers: {
Authorization: "githubToken",
},
},
"kakasoo",
{},
)
.then(console.log);
This is a SDK library generated by @nestia/migrate
or @nestia/editor
.
With this SDK library, you can easily and safely interact with backend server.
Just import and call some API functions like gif image below:
Left is server code, and right is client code utilizing the SDK
What
Nestia
is:Nestia is a set of helper libraries for NestJS, supporting below features:
@nestia/core
: Super-fast decorators@nestia/sdk
:
- Swagger generator evolved than ever
- SDK library generator for clients
- Mockup Simulator for client applications
- Automatic E2E test functions generator
@nestia/migrate
: Migration from Swagger to NestJS@nestia/editor
: Online TypeScript Swagger Editornestia
: Just CLI (command line interface) toolNote
- Only one line required, with pure TypeScript type
- Enhance performance 30x up
- Runtime validator is 20,000x faster than
class-validator
- JSON serialization is 200x faster than
class-transformer
- Software Development Kit
- SDK is a collection of
fetch
functions with type definitions like [tRPC](https://> trpc.io/)- Mockup simulator means embedded backend simulator in SDK
- similar with msw, but fully automated