@davstack/openapi-react-query-codegen
Version:
OpenAPI React Query Codegen using --useOptions (fork from @7nohe/openapi-react-query-codegen)
43 lines (42 loc) • 3.31 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 factory = typescript_1.default.factory;
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(`../requests/models/${modelName}`),
// ts.factory.createStringLiteral(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('../requests/services/' + serviceName
// join('../requests/services', serviceName)
), undefined);
}),
factory.createImportDeclaration(undefined, factory.createImportClause(false, undefined, factory.createNamedImports([
factory.createImportSpecifier(false, undefined, factory.createIdentifier('prefetchQuery')),
])), factory.createStringLiteral('./prefetch-query'), undefined),
];
};
exports.createImports = createImports;