@davstack/openapi-react-query-codegen
Version:
OpenAPI React Query Codegen using --useOptions (fork from @7nohe/openapi-react-query-codegen)
29 lines (28 loc) • 2.17 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createSource = void 0;
const typescript_1 = __importDefault(require("typescript"));
const createImports_1 = require("./createImports");
const createExports_1 = require("./createExports");
const createGetQueryClient_1 = require("./createGetQueryClient");
const createPrefetchQuery_1 = require("./createPrefetchQuery");
const createSourceFile = (statements) => {
return typescript_1.default.factory.createSourceFile(statements, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EndOfFileToken), typescript_1.default.NodeFlags.None);
};
const createSource = (outputPath) => {
const resultFile = typescript_1.default.createSourceFile('index.tsx', '', typescript_1.default.ScriptTarget.Latest, false, typescript_1.default.ScriptKind.TS);
const getQueryClientFile = typescript_1.default.createSourceFile('get-query-client.ts', '', typescript_1.default.ScriptTarget.Latest, false, typescript_1.default.ScriptKind.TS);
const printer = typescript_1.default.createPrinter({ newLine: typescript_1.default.NewLineKind.LineFeed });
const result = printer.printNode(typescript_1.default.EmitHint.Unspecified, createSourceFile([
...(0, createImports_1.createImports)(outputPath),
...(0, createExports_1.createExports)(outputPath),
]), resultFile);
const getQueryClient = printer.printNode(typescript_1.default.EmitHint.Unspecified, createSourceFile([...(0, createGetQueryClient_1.createGetQueryClient)()]), getQueryClientFile);
const prefetchQueryFile = typescript_1.default.createSourceFile('prefetch-query.tsx', '', typescript_1.default.ScriptTarget.Latest, false, typescript_1.default.ScriptKind.TS);
const prefetchQuery = printer.printNode(typescript_1.default.EmitHint.Unspecified, createSourceFile([...(0, createPrefetchQuery_1.createPrefetchQuery)()]), prefetchQueryFile);
return { queries: result, getQueryClient, prefetchQuery };
};
exports.createSource = createSource;