rapini
Version:
Generate React Query hooks, SWR hooks, Axios requests and Typescript types from OpenAPI files
82 lines (81 loc) • 3.83 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.makeImports = void 0;
var typescript_1 = __importDefault(require("typescript"));
function makeImportAxiosInstanceTypeDeclaration() {
return typescript_1.default.factory.createImportDeclaration(
/*modifiers*/ undefined,
/*importClause*/ typescript_1.default.factory.createImportClause(
/*isTypeOnly*/ true,
/*name*/ undefined,
/*namedBindings*/ typescript_1.default.factory.createNamedImports([
typescript_1.default.factory.createImportSpecifier(
/*isTypeOnly*/ false,
/*propertyName*/ undefined,
/*name*/ typescript_1.default.factory.createIdentifier("AxiosInstance")),
typescript_1.default.factory.createImportSpecifier(
/*isTypeOnly*/ false,
/*propertyName*/ undefined,
/*name*/ typescript_1.default.factory.createIdentifier("AxiosRequestConfig")),
])),
/*moduleSpecifier*/ typescript_1.default.factory.createStringLiteral("axios"),
/*assertClause*/ undefined);
}
function makeImportReactQueryDeclaration(version) {
var importClause = typescript_1.default.factory.createImportClause(
/*typeOnly*/ false,
/*name*/ undefined,
/*namedBindings*/ typescript_1.default.factory.createNamedImports([
typescript_1.default.factory.createImportSpecifier(
/*typeOnly*/ false,
/*propertyName*/ undefined,
/*name*/ typescript_1.default.factory.createIdentifier("useQuery")),
typescript_1.default.factory.createImportSpecifier(
/*typeOnly*/ false,
/*propertyName*/ undefined,
/*name*/ typescript_1.default.factory.createIdentifier("useMutation")),
typescript_1.default.factory.createImportSpecifier(
/*typeOnly*/ false,
/*propertyName*/ undefined,
/*name*/ typescript_1.default.factory.createIdentifier("useQueryClient")),
typescript_1.default.factory.createImportSpecifier(
/*typeOnly*/ true,
/*propertyName*/ undefined,
/*name*/ typescript_1.default.factory.createIdentifier("QueryClient")),
typescript_1.default.factory.createImportSpecifier(
/*typeOnly*/ true,
/*propertyName*/ undefined,
/*name*/ typescript_1.default.factory.createIdentifier("UseMutationOptions")),
typescript_1.default.factory.createImportSpecifier(
/*typeOnly*/ true,
/*propertyName*/ undefined,
/*name*/ typescript_1.default.factory.createIdentifier("UseQueryOptions")),
typescript_1.default.factory.createImportSpecifier(
/*typeOnly*/ true,
/*propertyName*/ undefined,
/*name*/ typescript_1.default.factory.createIdentifier("MutationFunction")),
typescript_1.default.factory.createImportSpecifier(
/*typeOnly*/ true,
/*propertyName*/ undefined,
/*name*/ typescript_1.default.factory.createIdentifier("UseMutationResult")),
typescript_1.default.factory.createImportSpecifier(
/*typeOnly*/ true,
/*propertyName*/ undefined,
/*name*/ typescript_1.default.factory.createIdentifier("UseQueryResult")),
]));
return typescript_1.default.factory.createImportDeclaration(
/*modifers*/ undefined,
/*importClause*/ importClause,
/*moduleSpecifier*/ typescript_1.default.factory.createStringLiteral(version === "v3" ? "react-query" : "@tanstack/react-query"),
/*assertClause*/ undefined);
}
function makeImports(options) {
return [
makeImportAxiosInstanceTypeDeclaration(),
makeImportReactQueryDeclaration(options.reactQueryVersion),
];
}
exports.makeImports = makeImports;