@openapi-generator-plus/typescript-fetch-node-client-generator
Version:
An OpenAPI Generator Plus template for a TypeScript API client using Fetch in Node
31 lines (30 loc) • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.hooks = void 0;
const template_utils_1 = require("@openapi-generator-plus/template-utils");
const typescript_fetch_client_generator_1 = require("@openapi-generator-plus/typescript-fetch-client-generator");
/* Same branch structure as the browser default; only the binary read differs. */
const apiResponseContentNode = (0, typescript_fetch_client_generator_1.makeApiResponseContent)({ binaryBody: 'response.buffer()' });
/**
* Hook overrides for fetch-node-client: replace fetch-client's
* browser-oriented imports/dependencies/response-body handling with the
* Node-flavoured equivalents.
*/
exports.hooks = {
apiImports: () => (0, template_utils_1.ts) `
import { btoa } from "abab";
import { Buffer } from "buffer";
import { Headers, RequestInit, Response } from "node-fetch";
import { URLSearchParams } from "url";
import FormData from "form-data";`,
modelsImports: () => 'import { Buffer } from "buffer";',
packageDependencies: (_ctx) => [
'"abab": "^2.0.5"',
'"form-data": "^4.0.0"',
'"node-fetch": "^3.0.0"',
],
runtimeImports: () => (0, template_utils_1.ts) `
import fetch, { RequestInit, Response } from "node-fetch";
export const defaultFetch = fetch;`,
apiResponseContent: apiResponseContentNode,
};