@seriouslag/openapi-react-query-codegen
Version:
OpenAPI React Query Codegen
35 lines (34 loc) • 2.82 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createImports = void 0;
const typescript_1 = __importDefault(require("typescript"));
const glob_1 = require("glob");
const path_1 = require("path");
const createImports = (generatedClientsPath) => {
const models = (0, glob_1.sync)((0, path_1.join)(generatedClientsPath, 'models', '*.ts').replace(/\\/g, '/'));
const services = (0, glob_1.sync)((0, path_1.join)(generatedClientsPath, 'services', '*.ts').replace(/\\/g, '/'));
return [
typescript_1.default.factory.createImportDeclaration(undefined, typescript_1.default.factory.createImportClause(false, undefined, typescript_1.default.factory.createNamedImports([
typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("useQuery")),
typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("useMutation")),
typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("UseQueryOptions")),
typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("UseMutationOptions")),
])), typescript_1.default.factory.createStringLiteral("@tanstack/react-query"), undefined),
...models.map((model) => {
const modelName = (0, path_1.basename)(model, (0, path_1.extname)(model));
return typescript_1.default.factory.createImportDeclaration(undefined, typescript_1.default.factory.createImportClause(false, undefined, typescript_1.default.factory.createNamedImports([
typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier(modelName)),
])), typescript_1.default.factory.createStringLiteral((0, path_1.join)("../requests/models/", modelName)), undefined);
}),
...services.map((service) => {
const serviceName = (0, path_1.basename)(service, (0, path_1.extname)(service));
return typescript_1.default.factory.createImportDeclaration(undefined, typescript_1.default.factory.createImportClause(false, undefined, typescript_1.default.factory.createNamedImports([
typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier(serviceName)),
])), typescript_1.default.factory.createStringLiteral((0, path_1.join)("../requests/services", serviceName)), undefined);
}),
];
};
exports.createImports = createImports;