New:Socket for Asana Is Now Available.Learn more
Get Started

@7nohe/openapi-react-query-codegen

Package Overview
Dependencies
Maintainers
1
Versions
70
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@7nohe/openapi-react-query-codegen - npm Package Compare versions

Comparing version
0.2.2
to
0.3.0
+4
-5
dist/package.json
{
"name": "@7nohe/openapi-react-query-codegen",
"version": "0.2.2",
"version": "0.3.0",
"description": "OpenAPI React Query Codegen",

@@ -36,10 +36,9 @@ "bin": {

"commander": "^10.0.0",
"glob": "^8.1.0",
"glob": "^9.3.1",
"openapi-typescript-codegen": "^0.23.0",
"typescript": "^4.9.4"
"typescript": "^5.0.2"
},
"devDependencies": {
"@types/glob": "^8.0.0",
"@types/node": "^18.11.17"
"@types/node": "^18.15.5"
}
}

@@ -6,10 +6,10 @@ #!/usr/bin/env node

};
exports.__esModule = true;
var generate_1 = require("./generate");
var commander_1 = require("commander");
var package_json_1 = __importDefault(require("../package.json"));
var program = new commander_1.Command();
Object.defineProperty(exports, "__esModule", { value: true });
const generate_1 = require("./generate");
const commander_1 = require("commander");
const package_json_1 = __importDefault(require("../package.json"));
const program = new commander_1.Command();
program
.name("openapi-rq")
.version(package_json_1["default"].version)
.version(package_json_1.default.version)
.description("Generate React Query code based on OpenAPI")

@@ -24,4 +24,4 @@ .requiredOption("-i, --input <value>", "OpenAPI specification, can be a path, url or string content (required)")

.parse();
var options = program.opts();
console.log("Generating React Query code using OpenApi file ".concat(options.output));
const options = program.opts();
console.log(`Generating React Query code using OpenApi file ${options.output}`);
(0, generate_1.generate)(options);
"use strict";
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", { value: true });
exports.lowercaseFirstLetter = exports.capitalizeFirstLetter = void 0;
var capitalizeFirstLetter = function (str) {
const capitalizeFirstLetter = (str) => {
return str.charAt(0).toUpperCase() + str.slice(1);
};
exports.capitalizeFirstLetter = capitalizeFirstLetter;
var lowercaseFirstLetter = function (str) {
const lowercaseFirstLetter = (str) => {
return str.charAt(0).toLowerCase() + str.slice(1);
};
exports.lowercaseFirstLetter = lowercaseFirstLetter;
"use strict";
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", { value: true });
exports.requestsOutputPath = exports.queriesOutputPath = exports.defaultOutputPath = void 0;

@@ -4,0 +4,0 @@ exports.defaultOutputPath = "openapi";

"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createExports = void 0;
var typescript_1 = __importDefault(require("typescript"));
var glob_1 = __importDefault(require("glob"));
var path_1 = require("path");
var fs_1 = __importDefault(require("fs"));
var createUseQuery_1 = require("./createUseQuery");
var createUseMutation_1 = require("./createUseMutation");
var createExports = function (generatedClientsPath) {
var services = glob_1["default"].sync((0, path_1.join)(generatedClientsPath, 'services', '*.ts').replace(/\\/g, '/'));
var nodes = services.map(function (servicePath) {
return typescript_1["default"].createSourceFile(servicePath, // fileName
fs_1["default"].readFileSync((0, path_1.join)(process.cwd(), servicePath), "utf8"), typescript_1["default"].ScriptTarget.Latest // langugeVersion
);
});
return __spreadArray([], __read(nodes
.map(function (node) {
var _a;
var klass = node
.getChildren()[0]
.getChildren()
.find(function (child) { return child.kind === typescript_1["default"].SyntaxKind.ClassDeclaration; });
var className = (_a = klass.name) === null || _a === void 0 ? void 0 : _a.getText(node);
var methods = klass.members.filter(function (node) { return node.kind === typescript_1["default"].SyntaxKind.MethodDeclaration; });
return methods
.map(function (method) {
var _a, _b, _c;
var methodName = (_a = method.name) === null || _a === void 0 ? void 0 : _a.getText(node);
var methodBlock = method
.getChildren(node)
.find(function (child) { return child.kind === typescript_1["default"].SyntaxKind.Block; });
var returnStatement = methodBlock.statements.find(function (s) { return s.kind === typescript_1["default"].SyntaxKind.ReturnStatement; });
var callExpression = returnStatement.expression;
var properties = callExpression.arguments[1].properties;
var httpMethodName = (_c = (_b = properties
.find(function (p) { var _a; return ((_a = p.name) === null || _a === void 0 ? void 0 : _a.getText(node)) === "method"; })) === null || _b === void 0 ? void 0 : _b.initializer) === null || _c === void 0 ? void 0 : _c.getText(node);
return httpMethodName === "'GET'"
? (0, createUseQuery_1.createUseQuery)(node, className, method)
: (0, createUseMutation_1.createUseMutation)(node, className, method);
const typescript_1 = __importDefault(require("typescript"));
const glob_1 = __importDefault(require("glob"));
const path_1 = require("path");
const fs_1 = __importDefault(require("fs"));
const createUseQuery_1 = require("./createUseQuery");
const createUseMutation_1 = require("./createUseMutation");
const createExports = (generatedClientsPath) => {
const services = glob_1.default.sync((0, path_1.join)(generatedClientsPath, 'services', '*.ts').replace(/\\/g, '/'));
const nodes = services.map((servicePath) => typescript_1.default.createSourceFile(servicePath, // fileName
fs_1.default.readFileSync((0, path_1.join)(process.cwd(), servicePath), "utf8"), typescript_1.default.ScriptTarget.Latest // langugeVersion
));
return [
...nodes
.map((node) => {
const klass = node
.getChildren()[0]
.getChildren()
.find((child) => child.kind === typescript_1.default.SyntaxKind.ClassDeclaration);
const className = klass.name?.getText(node);
const methods = klass.members.filter((node) => node.kind === typescript_1.default.SyntaxKind.MethodDeclaration);
return methods
.map((method) => {
const methodName = method.name?.getText(node);
const methodBlock = method
.getChildren(node)
.find((child) => child.kind === typescript_1.default.SyntaxKind.Block);
const returnStatement = methodBlock.statements.find((s) => s.kind === typescript_1.default.SyntaxKind.ReturnStatement);
const callExpression = returnStatement.expression;
const properties = callExpression.arguments[1].properties;
const httpMethodName = properties
.find((p) => p.name?.getText(node) === "method")
?.initializer?.getText(node);
return httpMethodName === "'GET'"
? (0, createUseQuery_1.createUseQuery)(node, className, method)
: (0, createUseMutation_1.createUseMutation)(node, className, method);
})
.flat();
})
.flat();
})
.flat()), false);
.flat(),
];
};
exports.createExports = createExports;
"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createImports = void 0;
var typescript_1 = __importDefault(require("typescript"));
var glob_1 = __importDefault(require("glob"));
var path_1 = require("path");
var createImports = function (generatedClientsPath) {
var models = glob_1["default"].sync((0, path_1.join)(generatedClientsPath, 'models', '*.ts').replace(/\\/g, '/'));
var services = glob_1["default"].sync((0, path_1.join)(generatedClientsPath, 'services', '*.ts').replace(/\\/g, '/'));
return __spreadArray(__spreadArray([
typescript_1["default"].factory.createImportDeclaration(undefined, 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)
], __read(models.map(function (model) {
var modelName = model.split("/").pop().split(".")[0];
return typescript_1["default"].factory.createImportDeclaration(undefined, 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);
})), false), __read(services.map(function (service) {
var serviceName = service.split("/").pop().split(".")[0];
return typescript_1["default"].factory.createImportDeclaration(undefined, 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);
})), false);
const typescript_1 = __importDefault(require("typescript"));
const glob_1 = __importDefault(require("glob"));
const path_1 = require("path");
const createImports = (generatedClientsPath) => {
const models = glob_1.default.sync((0, path_1.join)(generatedClientsPath, 'models', '*.ts').replace(/\\/g, '/'));
const services = glob_1.default.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;
"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createSource = void 0;
var typescript_1 = __importDefault(require("typescript"));
var createImports_1 = require("./createImports");
var createExports_1 = require("./createExports");
var createSourceFile = function (outputPath) {
return typescript_1["default"].factory.createSourceFile(__spreadArray(__spreadArray([], __read((0, createImports_1.createImports)(outputPath)), false), __read((0, createExports_1.createExports)(outputPath)), false), typescript_1["default"].factory.createToken(typescript_1["default"].SyntaxKind.EndOfFileToken), typescript_1["default"].NodeFlags.None);
const typescript_1 = __importDefault(require("typescript"));
const createImports_1 = require("./createImports");
const createExports_1 = require("./createExports");
const createSourceFile = (outputPath) => {
return typescript_1.default.factory.createSourceFile([...(0, createImports_1.createImports)(outputPath), ...(0, createExports_1.createExports)(outputPath)], typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EndOfFileToken), typescript_1.default.NodeFlags.None);
};
var createSource = function (outputPath) {
var resultFile = typescript_1["default"].createSourceFile("index.ts", "", typescript_1["default"].ScriptTarget.Latest, false, typescript_1["default"].ScriptKind.TS);
var printer = typescript_1["default"].createPrinter({ newLine: typescript_1["default"].NewLineKind.LineFeed });
var result = printer.printNode(typescript_1["default"].EmitHint.Unspecified, createSourceFile(outputPath), resultFile);
const createSource = (outputPath) => {
const resultFile = typescript_1.default.createSourceFile("index.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(outputPath), resultFile);
return result;
};
exports.createSource = createSource;

@@ -5,38 +5,35 @@ "use strict";

};
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createUseMutation = void 0;
var typescript_1 = __importDefault(require("typescript"));
var common_1 = require("./common");
var createUseMutation = function (node, className, method) {
var _a;
var methodName = (_a = method.name) === null || _a === void 0 ? void 0 : _a.getText(node);
return typescript_1["default"].factory.createVariableStatement([typescript_1["default"].factory.createModifier(typescript_1["default"].SyntaxKind.ExportKeyword)], typescript_1["default"].factory.createVariableDeclarationList([
typescript_1["default"].factory.createVariableDeclaration(typescript_1["default"].factory.createIdentifier("use".concat(className).concat((0, common_1.capitalizeFirstLetter)(methodName))), undefined, undefined, typescript_1["default"].factory.createArrowFunction(undefined, undefined, [
typescript_1["default"].factory.createParameterDeclaration(undefined, undefined, undefined, typescript_1["default"].factory.createIdentifier("options"), typescript_1["default"].factory.createToken(typescript_1["default"].SyntaxKind.QuestionToken), typescript_1["default"].factory.createTypeReferenceNode(typescript_1["default"].factory.createIdentifier("Omit"), [
typescript_1["default"].factory.createTypeReferenceNode(typescript_1["default"].factory.createIdentifier("UseMutationOptions"), [
typescript_1["default"].factory.createTypeReferenceNode(typescript_1["default"].factory.createIdentifier("Awaited"), [
typescript_1["default"].factory.createTypeReferenceNode(typescript_1["default"].factory.createIdentifier("ReturnType"), [
typescript_1["default"].factory.createTypeQueryNode(typescript_1["default"].factory.createQualifiedName(typescript_1["default"].factory.createIdentifier(className), typescript_1["default"].factory.createIdentifier(methodName)), undefined),
const typescript_1 = __importDefault(require("typescript"));
const common_1 = require("./common");
const createUseMutation = (node, className, method) => {
const methodName = method.name?.getText(node);
return typescript_1.default.factory.createVariableStatement([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createVariableDeclarationList([
typescript_1.default.factory.createVariableDeclaration(typescript_1.default.factory.createIdentifier(`use${className}${(0, common_1.capitalizeFirstLetter)(methodName)}`), undefined, undefined, typescript_1.default.factory.createArrowFunction(undefined, undefined, [
typescript_1.default.factory.createParameterDeclaration(undefined, undefined, typescript_1.default.factory.createIdentifier("options"), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken), typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("Omit"), [
typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("UseMutationOptions"), [
typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("Awaited"), [
typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("ReturnType"), [
typescript_1.default.factory.createTypeQueryNode(typescript_1.default.factory.createQualifiedName(typescript_1.default.factory.createIdentifier(className), typescript_1.default.factory.createIdentifier(methodName)), undefined),
]),
]),
typescript_1["default"].factory.createKeywordTypeNode(typescript_1["default"].SyntaxKind.UnknownKeyword),
method.parameters.length !== 0 ? typescript_1["default"].factory.createTypeLiteralNode(method.parameters.map(function (param) {
return typescript_1["default"].factory.createPropertySignature(undefined, typescript_1["default"].factory.createIdentifier(param.name.getText(node)), undefined, param.type);
})) : typescript_1["default"].factory.createKeywordTypeNode(typescript_1["default"].SyntaxKind.VoidKeyword),
typescript_1["default"].factory.createKeywordTypeNode(typescript_1["default"].SyntaxKind.UnknownKeyword),
typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.UnknownKeyword),
method.parameters.length !== 0 ? typescript_1.default.factory.createTypeLiteralNode(method.parameters.map((param) => {
return typescript_1.default.factory.createPropertySignature(undefined, typescript_1.default.factory.createIdentifier(param.name.getText(node)), undefined, param.type);
})) : typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.VoidKeyword),
typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.UnknownKeyword),
]),
typescript_1["default"].factory.createLiteralTypeNode(typescript_1["default"].factory.createStringLiteral("mutationFn")),
typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral("mutationFn")),
]), undefined),
], undefined, typescript_1["default"].factory.createToken(typescript_1["default"].SyntaxKind.EqualsGreaterThanToken), typescript_1["default"].factory.createCallExpression(typescript_1["default"].factory.createIdentifier("useMutation"), undefined, [
typescript_1["default"].factory.createArrowFunction(undefined, undefined, method.parameters.length !== 0 ? [
typescript_1["default"].factory.createParameterDeclaration(undefined, undefined, undefined, typescript_1["default"].factory.createObjectBindingPattern(method.parameters.map(function (param) {
return typescript_1["default"].factory.createBindingElement(undefined, undefined, typescript_1["default"].factory.createIdentifier(param.name.getText(node)), undefined);
], undefined, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsGreaterThanToken), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("useMutation"), undefined, [
typescript_1.default.factory.createArrowFunction(undefined, undefined, method.parameters.length !== 0 ? [
typescript_1.default.factory.createParameterDeclaration(undefined, undefined, typescript_1.default.factory.createObjectBindingPattern(method.parameters.map((param) => {
return typescript_1.default.factory.createBindingElement(undefined, undefined, typescript_1.default.factory.createIdentifier(param.name.getText(node)), undefined);
})), undefined, undefined, undefined),
] : [], undefined, typescript_1["default"].factory.createToken(typescript_1["default"].SyntaxKind.EqualsGreaterThanToken), typescript_1["default"].factory.createCallExpression(typescript_1["default"].factory.createPropertyAccessExpression(typescript_1["default"].factory.createIdentifier(className), typescript_1["default"].factory.createIdentifier(methodName)), undefined, method.parameters.map(function (params) {
return typescript_1["default"].factory.createIdentifier(params.name.getText(node));
}))),
typescript_1["default"].factory.createIdentifier("options"),
] : [], undefined, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsGreaterThanToken), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier(className), typescript_1.default.factory.createIdentifier(methodName)), undefined, method.parameters.map((params) => typescript_1.default.factory.createIdentifier(params.name.getText(node))))),
typescript_1.default.factory.createIdentifier("options"),
]))),
], typescript_1["default"].NodeFlags.Const));
], typescript_1.default.NodeFlags.Const));
};
exports.createUseMutation = createUseMutation;
"use strict";
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createUseQuery = void 0;
var typescript_1 = __importDefault(require("typescript"));
var common_1 = require("./common");
var createUseQuery = function (node, className, method) {
var _a;
var methodName = (_a = method.name) === null || _a === void 0 ? void 0 : _a.getText(node);
var requestParam = [];
const typescript_1 = __importDefault(require("typescript"));
const common_1 = require("./common");
const createUseQuery = (node, className, method) => {
const methodName = method.name?.getText(node);
let requestParam = [];
if (method.parameters.length !== 0) {
requestParam.push(typescript_1["default"].factory.createParameterDeclaration(undefined, undefined, undefined, typescript_1["default"].factory.createObjectBindingPattern(method.parameters.map(function (param) {
return typescript_1["default"].factory.createBindingElement(undefined, undefined, typescript_1["default"].factory.createIdentifier(param.name.getText(node)), undefined);
})), undefined, typescript_1["default"].factory.createTypeLiteralNode(method.parameters.map(function (param) {
return typescript_1["default"].factory.createPropertySignature(undefined, typescript_1["default"].factory.createIdentifier(param.name.getText(node)), undefined, param.type);
})), undefined));
requestParam.push(typescript_1.default.factory.createParameterDeclaration(undefined, undefined, typescript_1.default.factory.createObjectBindingPattern(method.parameters.map((param) => typescript_1.default.factory.createBindingElement(undefined, undefined, typescript_1.default.factory.createIdentifier(param.name.getText(node)), undefined))), undefined, typescript_1.default.factory.createTypeLiteralNode(method.parameters.map((param) => typescript_1.default.factory.createPropertySignature(undefined, typescript_1.default.factory.createIdentifier(param.name.getText(node)), undefined, param.type)))));
}
var customHookName = "use".concat(className).concat((0, common_1.capitalizeFirstLetter)(methodName));
var queryKey = "".concat(customHookName, "Key");
const customHookName = `use${className}${(0, common_1.capitalizeFirstLetter)(methodName)}`;
const queryKey = `${customHookName}Key`;
return [
typescript_1["default"].factory.createVariableStatement([typescript_1["default"].factory.createModifier(typescript_1["default"].SyntaxKind.ExportKeyword)], typescript_1["default"].factory.createVariableDeclarationList([typescript_1["default"].factory.createVariableDeclaration(typescript_1["default"].factory.createIdentifier(queryKey), undefined, undefined, typescript_1["default"].factory.createStringLiteral("".concat(className).concat((0, common_1.capitalizeFirstLetter)(methodName))))], typescript_1["default"].NodeFlags.Const)),
typescript_1["default"].factory.createVariableStatement([typescript_1["default"].factory.createModifier(typescript_1["default"].SyntaxKind.ExportKeyword)], typescript_1["default"].factory.createVariableDeclarationList([
typescript_1["default"].factory.createVariableDeclaration(typescript_1["default"].factory.createIdentifier(customHookName), undefined, undefined, typescript_1["default"].factory.createArrowFunction(undefined, undefined, __spreadArray(__spreadArray([], __read(requestParam), false), [
typescript_1["default"].factory.createParameterDeclaration(undefined, undefined, undefined, typescript_1["default"].factory.createIdentifier("queryKey"), undefined, typescript_1["default"].factory.createArrayTypeNode(typescript_1["default"].factory.createKeywordTypeNode(typescript_1["default"].SyntaxKind.StringKeyword)), typescript_1["default"].factory.createArrayLiteralExpression([], false)),
typescript_1["default"].factory.createParameterDeclaration(undefined, undefined, undefined, typescript_1["default"].factory.createIdentifier("options"), typescript_1["default"].factory.createToken(typescript_1["default"].SyntaxKind.QuestionToken), typescript_1["default"].factory.createTypeReferenceNode(typescript_1["default"].factory.createIdentifier("Omit"), [
typescript_1["default"].factory.createTypeReferenceNode(typescript_1["default"].factory.createIdentifier("UseQueryOptions"), [
typescript_1["default"].factory.createTypeReferenceNode(typescript_1["default"].factory.createIdentifier("Awaited"), [
typescript_1["default"].factory.createTypeReferenceNode(typescript_1["default"].factory.createIdentifier("ReturnType"), [
typescript_1["default"].factory.createTypeQueryNode(typescript_1["default"].factory.createQualifiedName(typescript_1["default"].factory.createIdentifier(className), typescript_1["default"].factory.createIdentifier(methodName)), undefined),
typescript_1.default.factory.createVariableStatement([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createVariableDeclarationList([typescript_1.default.factory.createVariableDeclaration(typescript_1.default.factory.createIdentifier(queryKey), undefined, undefined, typescript_1.default.factory.createStringLiteral(`${className}${(0, common_1.capitalizeFirstLetter)(methodName)}`))], typescript_1.default.NodeFlags.Const)),
typescript_1.default.factory.createVariableStatement([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createVariableDeclarationList([
typescript_1.default.factory.createVariableDeclaration(typescript_1.default.factory.createIdentifier(customHookName), undefined, undefined, typescript_1.default.factory.createArrowFunction(undefined, undefined, [
...requestParam,
typescript_1.default.factory.createParameterDeclaration(undefined, undefined, typescript_1.default.factory.createIdentifier("queryKey"), undefined, typescript_1.default.factory.createArrayTypeNode(typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.StringKeyword)), typescript_1.default.factory.createArrayLiteralExpression([], false)),
typescript_1.default.factory.createParameterDeclaration(undefined, undefined, typescript_1.default.factory.createIdentifier("options"), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken), typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("Omit"), [
typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("UseQueryOptions"), [
typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("Awaited"), [
typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("ReturnType"), [
typescript_1.default.factory.createTypeQueryNode(typescript_1.default.factory.createQualifiedName(typescript_1.default.factory.createIdentifier(className), typescript_1.default.factory.createIdentifier(methodName)), undefined),
]),
]),
typescript_1["default"].factory.createKeywordTypeNode(typescript_1["default"].SyntaxKind.UnknownKeyword),
typescript_1["default"].factory.createTypeReferenceNode(typescript_1["default"].factory.createIdentifier("Awaited"), [
typescript_1["default"].factory.createTypeReferenceNode(typescript_1["default"].factory.createIdentifier("ReturnType"), [
typescript_1["default"].factory.createTypeQueryNode(typescript_1["default"].factory.createQualifiedName(typescript_1["default"].factory.createIdentifier(className), typescript_1["default"].factory.createIdentifier(methodName)), undefined),
typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.UnknownKeyword),
typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("Awaited"), [
typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("ReturnType"), [
typescript_1.default.factory.createTypeQueryNode(typescript_1.default.factory.createQualifiedName(typescript_1.default.factory.createIdentifier(className), typescript_1.default.factory.createIdentifier(methodName)), undefined),
]),
]),
typescript_1["default"].factory.createArrayTypeNode(typescript_1["default"].factory.createKeywordTypeNode(typescript_1["default"].SyntaxKind.StringKeyword)),
typescript_1.default.factory.createArrayTypeNode(typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.StringKeyword)),
]),
typescript_1["default"].factory.createUnionTypeNode([
typescript_1["default"].factory.createLiteralTypeNode(typescript_1["default"].factory.createStringLiteral("queryKey")),
typescript_1["default"].factory.createLiteralTypeNode(typescript_1["default"].factory.createStringLiteral("queryFn")),
typescript_1["default"].factory.createLiteralTypeNode(typescript_1["default"].factory.createStringLiteral("initialData")),
typescript_1.default.factory.createUnionTypeNode([
typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral("queryKey")),
typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral("queryFn")),
typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral("initialData")),
]),
]), undefined),
], false), undefined, typescript_1["default"].factory.createToken(typescript_1["default"].SyntaxKind.EqualsGreaterThanToken), typescript_1["default"].factory.createCallExpression(typescript_1["default"].factory.createIdentifier("useQuery"), undefined, [
typescript_1["default"].factory.createArrayLiteralExpression([
typescript_1["default"].factory.createIdentifier(queryKey),
typescript_1["default"].factory.createSpreadElement(typescript_1["default"].factory.createIdentifier("queryKey"))
])),
], undefined, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsGreaterThanToken), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("useQuery"), undefined, [
typescript_1.default.factory.createArrayLiteralExpression([
typescript_1.default.factory.createIdentifier(queryKey),
typescript_1.default.factory.createSpreadElement(typescript_1.default.factory.createIdentifier("queryKey"))
], false),
typescript_1["default"].factory.createArrowFunction(undefined, undefined, [], undefined, typescript_1["default"].factory.createToken(typescript_1["default"].SyntaxKind.EqualsGreaterThanToken), typescript_1["default"].factory.createCallExpression(typescript_1["default"].factory.createPropertyAccessExpression(typescript_1["default"].factory.createIdentifier(className), typescript_1["default"].factory.createIdentifier(methodName)), undefined, method.parameters.map(function (param) {
return typescript_1["default"].factory.createIdentifier(param.name.getText(node));
}))),
typescript_1["default"].factory.createIdentifier("options"),
typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsGreaterThanToken), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier(className), typescript_1.default.factory.createIdentifier(methodName)), undefined, method.parameters.map((param) => typescript_1.default.factory.createIdentifier(param.name.getText(node))))),
typescript_1.default.factory.createIdentifier("options"),
]))),
], typescript_1["default"].NodeFlags.Const))
], typescript_1.default.NodeFlags.Const))
];
};
exports.createUseQuery = createUseQuery;
"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generate = void 0;
var openapi_typescript_codegen_1 = require("openapi-typescript-codegen");
var print_1 = require("./print");
var path_1 = __importDefault(require("path"));
var createSource_1 = require("./createSource");
var constants_1 = require("./constants");
function generate(options) {
var _a;
return __awaiter(this, void 0, void 0, function () {
var openApiOutputPath, source;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
openApiOutputPath = path_1["default"].join((_a = options.output) !== null && _a !== void 0 ? _a : constants_1.defaultOutputPath, constants_1.requestsOutputPath);
return [4 /*yield*/, (0, openapi_typescript_codegen_1.generate)(__assign(__assign({}, options), { httpClient: options.client, output: openApiOutputPath }))];
case 1:
_b.sent();
source = (0, createSource_1.createSource)(openApiOutputPath);
(0, print_1.print)(source, options);
return [2 /*return*/];
}
});
const openapi_typescript_codegen_1 = require("openapi-typescript-codegen");
const print_1 = require("./print");
const path_1 = __importDefault(require("path"));
const createSource_1 = require("./createSource");
const constants_1 = require("./constants");
async function generate(options) {
const openApiOutputPath = path_1.default.join(options.output ?? constants_1.defaultOutputPath, constants_1.requestsOutputPath);
await (0, openapi_typescript_codegen_1.generate)({
...options,
httpClient: options.client,
output: openApiOutputPath,
});
const source = (0, createSource_1.createSource)(openApiOutputPath);
(0, print_1.print)(source, options);
}
exports.generate = generate;

@@ -5,20 +5,18 @@ "use strict";

};
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", { value: true });
exports.print = void 0;
var fs_1 = __importDefault(require("fs"));
var path_1 = __importDefault(require("path"));
var constants_1 = require("./constants");
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const constants_1 = require("./constants");
function printGeneratedTS(result, options) {
var _a;
var dir = path_1["default"].join((_a = options.output) !== null && _a !== void 0 ? _a : constants_1.defaultOutputPath, constants_1.queriesOutputPath);
if (!fs_1["default"].existsSync(dir)) {
fs_1["default"].mkdirSync(dir, { recursive: true });
const dir = path_1.default.join(options.output ?? constants_1.defaultOutputPath, constants_1.queriesOutputPath);
if (!fs_1.default.existsSync(dir)) {
fs_1.default.mkdirSync(dir, { recursive: true });
}
fs_1["default"].writeFileSync(path_1["default"].join(dir, "index.ts"), result);
fs_1.default.writeFileSync(path_1.default.join(dir, "index.ts"), result);
}
function print(result, options) {
var _a;
var outputPath = (_a = options.output) !== null && _a !== void 0 ? _a : constants_1.defaultOutputPath;
if (!fs_1["default"].existsSync(outputPath)) {
fs_1["default"].mkdirSync(outputPath);
const outputPath = options.output ?? constants_1.defaultOutputPath;
if (!fs_1.default.existsSync(outputPath)) {
fs_1.default.mkdirSync(outputPath);
}

@@ -25,0 +23,0 @@ printGeneratedTS(result, options);

{
"name": "@7nohe/openapi-react-query-codegen",
"version": "0.2.2",
"version": "0.3.0",
"description": "OpenAPI React Query Codegen",

@@ -30,9 +30,8 @@ "bin": {

"commander": "^10.0.0",
"glob": "^8.1.0",
"glob": "^9.3.1",
"openapi-typescript-codegen": "^0.23.0",
"typescript": "^4.9.4"
"typescript": "^5.0.2"
},
"devDependencies": {
"@types/glob": "^8.0.0",
"@types/node": "^18.11.17"
"@types/node": "^18.15.5"
},

@@ -39,0 +38,0 @@ "scripts": {