ts-openapi-contract-first-boilerplate
Version:
A boilerplate for building contract-first APIs in TypeScript with OpenAPI. Includes OpenAPI definition, compliant server setup, and npm package generation for seamless API development.
34 lines (33 loc) • 1.17 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContractFirstAPIClient = void 0;
const openapi_fetch_1 = __importDefault(require("openapi-fetch"));
class ContractFirstAPIClient {
constructor(baseUrl) {
this.authenticate = {
onRequest: ({ request }) => {
if (this.authentication) {
request.headers.set('Authorization', `Bearer ${this.authentication}`);
}
return request;
}
};
this.auth = {
set: (access_token) => {
this.authentication = access_token;
},
get: () => {
return this.authentication;
}
};
this.client = (0, openapi_fetch_1.default)({ baseUrl, headers: { Bearer: 'access_token' } });
this.client.use(this.authenticate);
}
healthCheck() {
return this.client.GET('/health-check');
}
}
exports.ContractFirstAPIClient = ContractFirstAPIClient;