UNPKG

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
"use strict"; 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;