UNPKG

@7nohe/openapi-react-query-codegen

Version:
52 lines (51 loc) 1.99 kB
import { createClient } from "@hey-api/openapi-ts"; import { buildQueriesOutputPath, buildRequestsOutputPath, formatOptions, } from "./common.mjs"; import { createSource } from "./createSource.mjs"; import { formatOutput } from "./format.mjs"; import { print } from "./print.mjs"; export async function generate(options, version) { const openApiOutputPath = buildRequestsOutputPath(options.output); const formattedOptions = formatOptions(options); const config = { base: formattedOptions.base, client: formattedOptions.client, debug: formattedOptions.debug, dryRun: false, exportCore: true, output: { format: formattedOptions.format, lint: formattedOptions.lint, path: openApiOutputPath, }, input: formattedOptions.input, request: formattedOptions.request, schemas: { export: !formattedOptions.noSchemas, type: formattedOptions.schemaType, }, services: { export: true, response: formattedOptions.serviceResponse, asClass: true, operationId: formattedOptions.operationId ?? false, }, types: { dates: formattedOptions.useDateType, export: true, enums: formattedOptions.enums, }, useOptions: true, }; await createClient(config); const source = await createSource({ outputPath: openApiOutputPath, version, serviceEndName: "Service", // we are hard coding this because changing the service end name was depreciated in @hey-api/openapi-ts pageParam: formattedOptions.pageParam, nextPageParam: formattedOptions.nextPageParam, initialPageParam: formattedOptions.initialPageParam.toString(), }); await print(source, formattedOptions); const queriesOutputPath = buildQueriesOutputPath(options.output); await formatOutput(queriesOutputPath); }