rapini
Version:
Generate React Query hooks, SWR hooks, Axios requests and Typescript types from OpenAPI files
86 lines (85 loc) • 4.63 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.makeInitialize = void 0;
var typescript_1 = __importDefault(require("typescript"));
function makeInitialize() {
var axios = typescript_1.default.factory.createIdentifier("axios");
var makeRequestsStatement = typescript_1.default.factory.createVariableStatement(
/*modifiers*/ undefined,
/*declarationList*/ typescript_1.default.factory.createVariableDeclarationList(
/*declarations*/ [
typescript_1.default.factory.createVariableDeclaration(
/*name*/ typescript_1.default.factory.createIdentifier("requests"),
/*exclamationToken*/ undefined,
/*type*/ undefined,
/*initializer*/ typescript_1.default.factory.createCallExpression(
/*expression*/ typescript_1.default.factory.createIdentifier("makeRequests"),
/*typeArgs*/ undefined,
/*args*/ [
axios,
typescript_1.default.factory.createPropertyAccessChain(
/*expression*/ typescript_1.default.factory.createIdentifier("config"),
/*questionDotToken*/ typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionDotToken),
/*name*/ typescript_1.default.factory.createIdentifier("axios")),
])),
],
/*flags*/ typescript_1.default.NodeFlags.Const));
var returnStatement = typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createObjectLiteralExpression(
/*properties*/ [
typescript_1.default.factory.createShorthandPropertyAssignment(
/*name*/ typescript_1.default.factory.createIdentifier("requests"),
/*objectAssignmentInitializer*/ undefined),
typescript_1.default.factory.createPropertyAssignment(
/*name*/ typescript_1.default.factory.createIdentifier("queries"),
/*initializer*/ typescript_1.default.factory.createCallExpression(
/*expression*/ typescript_1.default.factory.createIdentifier("makeQueries"),
/*typeArgs*/ undefined,
/*args*/ [
typescript_1.default.factory.createIdentifier("requests")
])),
typescript_1.default.factory.createPropertyAssignment(
/*name*/ typescript_1.default.factory.createIdentifier("mutations"),
/*initializer*/ typescript_1.default.factory.createCallExpression(
/*expression*/ typescript_1.default.factory.createIdentifier("makeMutations"),
/*typeArgs*/ undefined,
/*args*/ [
typescript_1.default.factory.createIdentifier("requests"),
typescript_1.default.factory.createPropertyAccessChain(typescript_1.default.factory.createIdentifier("config"), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionDotToken), typescript_1.default.factory.createIdentifier("mutations")),
])),
],
/*multiline*/ true));
var bodyStatements = [
makeRequestsStatement,
returnStatement,
];
var axiosParameter = typescript_1.default.factory.createParameterDeclaration(
/*modifiers*/ undefined,
/*dotDotDotToken*/ undefined,
/*name*/ axios,
/*questionToken*/ undefined,
/*type*/ typescript_1.default.factory.createTypeReferenceNode(
/*typeName*/ typescript_1.default.factory.createIdentifier("AxiosInstance"),
/*typeArgs*/ undefined),
/*initilizer*/ undefined);
var configParameter = typescript_1.default.factory.createParameterDeclaration(
/*modifiers*/ undefined,
/*dotDotDotToken*/ undefined,
/*name*/ typescript_1.default.factory.createIdentifier("config"),
/*questionToken*/ typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken),
/*type*/ typescript_1.default.factory.createTypeReferenceNode(
/*typeName*/ typescript_1.default.factory.createIdentifier("Config"),
/*typeArgs*/ undefined),
/*initilizer*/ undefined);
return typescript_1.default.factory.createFunctionDeclaration(
/*modifiers*/ [typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.ExportKeyword)],
/*asteriskToken*/ undefined,
/*name*/ typescript_1.default.factory.createIdentifier("initialize"),
/*typeParameters*/ undefined,
/*parameters*/ [axiosParameter, configParameter],
/*returnType*/ undefined,
/*body*/ typescript_1.default.factory.createBlock(bodyStatements, /*multiline*/ true));
}
exports.makeInitialize = makeInitialize;