@7nohe/openapi-react-query-codegen 0.5.3 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -22
- package/dist/cli.mjs +35 -0
- package/dist/common.mjs +64 -0
- package/dist/constants.mjs +3 -0
- package/dist/createExports.mjs +40 -0
- package/dist/createImports.mjs +47 -0
- package/dist/createSource.mjs +74 -0
- package/dist/createUseMutation.mjs +98 -0
- package/dist/createUseQuery.mjs +187 -0
- package/dist/generate.mjs +43 -0
- package/dist/print.mjs +23 -0
- package/dist/service.mjs +94 -0
- package/dist/{src/util.js → util.mjs} +3 -10
- package/package.json +17 -6
- package/dist/node_modules/.bin/glob +0 -17
- package/dist/node_modules/.bin/openapi +0 -17
- package/dist/node_modules/.bin/tsc +0 -17
- package/dist/node_modules/.bin/tsserver +0 -17
- package/dist/package.json +0 -47
- package/dist/src/cli.js +0 -27
- package/dist/src/common.js +0 -11
- package/dist/src/constants.js +0 -6
- package/dist/src/createExports.js +0 -61
- package/dist/src/createImports.js +0 -37
- package/dist/src/createSource.js +0 -25
- package/dist/src/createUseMutation.js +0 -66
- package/dist/src/createUseQuery.js +0 -90
- package/dist/src/generate.js +0 -22
- package/dist/src/print.js +0 -24
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createExports = void 0;
|
|
7
|
-
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
-
const glob_1 = require("glob");
|
|
9
|
-
const path_1 = require("path");
|
|
10
|
-
const fs_1 = __importDefault(require("fs"));
|
|
11
|
-
const createUseQuery_1 = require("./createUseQuery");
|
|
12
|
-
const createUseMutation_1 = require("./createUseMutation");
|
|
13
|
-
const createExports = (generatedClientsPath) => {
|
|
14
|
-
const services = (0, glob_1.sync)((0, path_1.join)(generatedClientsPath, "services", "*.ts").replace(/\\/g, "/"));
|
|
15
|
-
const nodes = services.map((servicePath) => typescript_1.default.createSourceFile(servicePath, // fileName
|
|
16
|
-
fs_1.default.readFileSync((0, path_1.join)(process.cwd(), servicePath), "utf8"), typescript_1.default.ScriptTarget.Latest // languageVersion
|
|
17
|
-
));
|
|
18
|
-
return [
|
|
19
|
-
...nodes
|
|
20
|
-
.map((node) => {
|
|
21
|
-
const klass = node
|
|
22
|
-
.getChildren()[0]
|
|
23
|
-
.getChildren()
|
|
24
|
-
.find((child) => child.kind === typescript_1.default.SyntaxKind.ClassDeclaration);
|
|
25
|
-
const className = klass.name?.getText(node);
|
|
26
|
-
const methods = klass.members.filter((node) => node.kind === typescript_1.default.SyntaxKind.MethodDeclaration);
|
|
27
|
-
return methods
|
|
28
|
-
.map((method) => {
|
|
29
|
-
const methodBlock = method
|
|
30
|
-
.getChildren(node)
|
|
31
|
-
.find((child) => child.kind === typescript_1.default.SyntaxKind.Block);
|
|
32
|
-
const returnStatement = methodBlock.statements.find((s) => s.kind === typescript_1.default.SyntaxKind.ReturnStatement);
|
|
33
|
-
const callExpression = returnStatement.expression;
|
|
34
|
-
const properties = callExpression.arguments[1].properties;
|
|
35
|
-
const httpMethodName = properties
|
|
36
|
-
.find((p) => p.name?.getText(node) === "method")
|
|
37
|
-
?.initializer?.getText(node);
|
|
38
|
-
const getAllChildren = (tsNode) => {
|
|
39
|
-
const childItems = tsNode.getChildren(node);
|
|
40
|
-
if (childItems.length) {
|
|
41
|
-
const allChildren = childItems.map(getAllChildren);
|
|
42
|
-
return [tsNode].concat(allChildren.flat());
|
|
43
|
-
}
|
|
44
|
-
return [tsNode];
|
|
45
|
-
};
|
|
46
|
-
const children = getAllChildren(method);
|
|
47
|
-
const jsDoc = children.filter((c) => c.kind === typescript_1.default.SyntaxKind.JSDoc).map((c) => {
|
|
48
|
-
return c.comment;
|
|
49
|
-
});
|
|
50
|
-
const hasDeprecated = children
|
|
51
|
-
.some((c) => c.kind === typescript_1.default.SyntaxKind.JSDocDeprecatedTag);
|
|
52
|
-
return httpMethodName === "'GET'"
|
|
53
|
-
? (0, createUseQuery_1.createUseQuery)(node, className, method, jsDoc, hasDeprecated)
|
|
54
|
-
: (0, createUseMutation_1.createUseMutation)(node, className, method, jsDoc, hasDeprecated);
|
|
55
|
-
})
|
|
56
|
-
.flat();
|
|
57
|
-
})
|
|
58
|
-
.flat(),
|
|
59
|
-
];
|
|
60
|
-
};
|
|
61
|
-
exports.createExports = createExports;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createImports = void 0;
|
|
7
|
-
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
-
const glob_1 = require("glob");
|
|
9
|
-
const path_1 = require("path");
|
|
10
|
-
const { join } = path_1.posix;
|
|
11
|
-
const createImports = (generatedClientsPath) => {
|
|
12
|
-
const models = (0, glob_1.sync)(join(generatedClientsPath, "models", "*.ts").replace(/\\/g, "/"));
|
|
13
|
-
const services = (0, glob_1.sync)(join(generatedClientsPath, "services", "*.ts").replace(/\\/g, "/"));
|
|
14
|
-
return [
|
|
15
|
-
typescript_1.default.factory.createImportDeclaration(undefined, typescript_1.default.factory.createImportClause(false, undefined, typescript_1.default.factory.createNamedImports([
|
|
16
|
-
typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("useQuery")),
|
|
17
|
-
typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("useMutation")),
|
|
18
|
-
typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("UseQueryResult")),
|
|
19
|
-
typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("UseQueryOptions")),
|
|
20
|
-
typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("UseMutationOptions")),
|
|
21
|
-
typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("UseMutationResult")),
|
|
22
|
-
])), typescript_1.default.factory.createStringLiteral("@tanstack/react-query"), undefined),
|
|
23
|
-
...models.map((model) => {
|
|
24
|
-
const modelName = (0, path_1.basename)(model, (0, path_1.extname)(model));
|
|
25
|
-
return typescript_1.default.factory.createImportDeclaration(undefined, typescript_1.default.factory.createImportClause(false, undefined, typescript_1.default.factory.createNamedImports([
|
|
26
|
-
typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier(modelName)),
|
|
27
|
-
])), typescript_1.default.factory.createStringLiteral(join("../requests/models/", modelName)), undefined);
|
|
28
|
-
}),
|
|
29
|
-
...services.map((service) => {
|
|
30
|
-
const serviceName = (0, path_1.basename)(service, (0, path_1.extname)(service));
|
|
31
|
-
return typescript_1.default.factory.createImportDeclaration(undefined, typescript_1.default.factory.createImportClause(false, undefined, typescript_1.default.factory.createNamedImports([
|
|
32
|
-
typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier(serviceName)),
|
|
33
|
-
])), typescript_1.default.factory.createStringLiteral(join("../requests/services", serviceName)), undefined);
|
|
34
|
-
}),
|
|
35
|
-
];
|
|
36
|
-
};
|
|
37
|
-
exports.createImports = createImports;
|
package/dist/src/createSource.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createSource = void 0;
|
|
7
|
-
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
-
const createImports_1 = require("./createImports");
|
|
9
|
-
const createExports_1 = require("./createExports");
|
|
10
|
-
const package_json_1 = require("../package.json");
|
|
11
|
-
const createSourceFile = (outputPath) => {
|
|
12
|
-
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);
|
|
13
|
-
};
|
|
14
|
-
const createSource = (outputPath) => {
|
|
15
|
-
const resultFile = typescript_1.default.createSourceFile("index.ts", "", typescript_1.default.ScriptTarget.Latest, false, typescript_1.default.ScriptKind.TS);
|
|
16
|
-
const printer = typescript_1.default.createPrinter({
|
|
17
|
-
newLine: typescript_1.default.NewLineKind.LineFeed,
|
|
18
|
-
removeComments: false,
|
|
19
|
-
});
|
|
20
|
-
const node = createSourceFile(outputPath);
|
|
21
|
-
const result = `// generated with @7nohe/openapi-react-query-codegen@${package_json_1.version} \n` +
|
|
22
|
-
printer.printNode(typescript_1.default.EmitHint.Unspecified, node, resultFile);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
exports.createSource = createSource;
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createUseMutation = void 0;
|
|
7
|
-
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
-
const common_1 = require("./common");
|
|
9
|
-
const util_1 = require("./util");
|
|
10
|
-
const createUseMutation = (node, className, method, jsDoc = [], deprecated = false) => {
|
|
11
|
-
const methodName = method.name?.getText(node);
|
|
12
|
-
// Awaited<ReturnType<typeof myClass.myMethod>>
|
|
13
|
-
const awaitedResponseDataType = typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("Awaited"), [
|
|
14
|
-
typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("ReturnType"), [
|
|
15
|
-
typescript_1.default.factory.createTypeQueryNode(typescript_1.default.factory.createQualifiedName(typescript_1.default.factory.createIdentifier(className), typescript_1.default.factory.createIdentifier(methodName)), undefined),
|
|
16
|
-
]),
|
|
17
|
-
]);
|
|
18
|
-
const TData = typescript_1.default.factory.createIdentifier("TData");
|
|
19
|
-
const TError = typescript_1.default.factory.createIdentifier("TError");
|
|
20
|
-
const TContext = typescript_1.default.factory.createIdentifier("TContext");
|
|
21
|
-
const mutationResult = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createIdentifier(`${className}${(0, common_1.capitalizeFirstLetter)(methodName)}MutationResult`), undefined, awaitedResponseDataType);
|
|
22
|
-
const responseDataType = typescript_1.default.factory.createTypeParameterDeclaration(undefined, TData, undefined, typescript_1.default.factory.createTypeReferenceNode(mutationResult.name));
|
|
23
|
-
const methodParameters = method.parameters.length !== 0
|
|
24
|
-
? typescript_1.default.factory.createTypeLiteralNode(method.parameters.map((param) => {
|
|
25
|
-
return typescript_1.default.factory.createPropertySignature(undefined, typescript_1.default.factory.createIdentifier(param.name.getText(node)), param.questionToken ?? param.initializer
|
|
26
|
-
? typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken)
|
|
27
|
-
: param.questionToken, param.type);
|
|
28
|
-
}))
|
|
29
|
-
: typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.VoidKeyword);
|
|
30
|
-
const exportHook = typescript_1.default.factory.createVariableStatement([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createVariableDeclarationList([
|
|
31
|
-
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, typescript_1.default.factory.createNodeArray([
|
|
32
|
-
responseDataType,
|
|
33
|
-
typescript_1.default.factory.createTypeParameterDeclaration(undefined, TError, undefined, typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.UnknownKeyword)),
|
|
34
|
-
typescript_1.default.factory.createTypeParameterDeclaration(undefined, TContext, undefined, typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.UnknownKeyword)),
|
|
35
|
-
]), [
|
|
36
|
-
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"), [
|
|
37
|
-
typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("UseMutationOptions"), [
|
|
38
|
-
typescript_1.default.factory.createTypeReferenceNode(TData),
|
|
39
|
-
typescript_1.default.factory.createTypeReferenceNode(TError),
|
|
40
|
-
methodParameters,
|
|
41
|
-
typescript_1.default.factory.createTypeReferenceNode(TContext),
|
|
42
|
-
]),
|
|
43
|
-
typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral("mutationFn")),
|
|
44
|
-
]), undefined),
|
|
45
|
-
], undefined, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsGreaterThanToken), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("useMutation"), [
|
|
46
|
-
typescript_1.default.factory.createTypeReferenceNode(TData),
|
|
47
|
-
typescript_1.default.factory.createTypeReferenceNode(TError),
|
|
48
|
-
methodParameters,
|
|
49
|
-
typescript_1.default.factory.createTypeReferenceNode(TContext),
|
|
50
|
-
], [
|
|
51
|
-
typescript_1.default.factory.createObjectLiteralExpression([
|
|
52
|
-
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("mutationFn"), typescript_1.default.factory.createArrowFunction(undefined, undefined, method.parameters.length !== 0
|
|
53
|
-
? [
|
|
54
|
-
typescript_1.default.factory.createParameterDeclaration(undefined, undefined, typescript_1.default.factory.createObjectBindingPattern(method.parameters.map((param) => {
|
|
55
|
-
return typescript_1.default.factory.createBindingElement(undefined, undefined, typescript_1.default.factory.createIdentifier(param.name.getText(node)), undefined);
|
|
56
|
-
})), undefined, undefined, undefined),
|
|
57
|
-
]
|
|
58
|
-
: [], undefined, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsGreaterThanToken), typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createAsExpression(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.createKeywordTypeNode(typescript_1.default.SyntaxKind.UnknownKeyword)), typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("Promise"), [typescript_1.default.factory.createTypeReferenceNode(TData)])))),
|
|
59
|
-
typescript_1.default.factory.createSpreadAssignment(typescript_1.default.factory.createIdentifier("options")),
|
|
60
|
-
]),
|
|
61
|
-
]))),
|
|
62
|
-
], typescript_1.default.NodeFlags.Const));
|
|
63
|
-
const hookWithJsDoc = (0, util_1.addJSDocToNode)(exportHook, node, deprecated, jsDoc);
|
|
64
|
-
return [mutationResult, hookWithJsDoc];
|
|
65
|
-
};
|
|
66
|
-
exports.createUseMutation = createUseMutation;
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createUseQuery = void 0;
|
|
7
|
-
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
-
const common_1 = require("./common");
|
|
9
|
-
const util_1 = require("./util");
|
|
10
|
-
const createUseQuery = (node, className, method, jsDoc = [], deprecated = false) => {
|
|
11
|
-
const methodName = method.name?.getText(node);
|
|
12
|
-
let requestParam = [];
|
|
13
|
-
if (method.parameters.length !== 0) {
|
|
14
|
-
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)), param.questionToken ?? param.initializer
|
|
15
|
-
? typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken)
|
|
16
|
-
: param.questionToken, param.type)))));
|
|
17
|
-
}
|
|
18
|
-
const customHookName = `use${className}${(0, common_1.capitalizeFirstLetter)(methodName)}`;
|
|
19
|
-
const queryKey = `${customHookName}Key`;
|
|
20
|
-
const queryKeyGenericType = typescript_1.default.factory.createTypeReferenceNode("TQueryKey");
|
|
21
|
-
const queryKeyConstraint = typescript_1.default.factory.createTypeReferenceNode("Array", [
|
|
22
|
-
typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.UnknownKeyword),
|
|
23
|
-
]);
|
|
24
|
-
// Awaited<ReturnType<typeof myClass.myMethod>>
|
|
25
|
-
const awaitedResponseDataType = typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("Awaited"), [
|
|
26
|
-
typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("ReturnType"), [
|
|
27
|
-
typescript_1.default.factory.createTypeQueryNode(typescript_1.default.factory.createQualifiedName(typescript_1.default.factory.createIdentifier(className), typescript_1.default.factory.createIdentifier(methodName)), undefined),
|
|
28
|
-
]),
|
|
29
|
-
]);
|
|
30
|
-
// DefaultResponseDataType
|
|
31
|
-
// export type MyClassMethodDefaultResponse = Awaited<ReturnType<typeof myClass.myMethod>>
|
|
32
|
-
const defaultApiResponse = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createIdentifier(`${(0, common_1.capitalizeFirstLetter)(className)}${(0, common_1.capitalizeFirstLetter)(methodName)}DefaultResponse`), undefined, awaitedResponseDataType);
|
|
33
|
-
const TData = typescript_1.default.factory.createIdentifier("TData");
|
|
34
|
-
const TError = typescript_1.default.factory.createIdentifier("TError");
|
|
35
|
-
const responseDataType = typescript_1.default.factory.createTypeParameterDeclaration(undefined, TData.text, undefined, typescript_1.default.factory.createTypeReferenceNode(defaultApiResponse.name));
|
|
36
|
-
// Return Type
|
|
37
|
-
// export const classNameMethodNameQueryResult<TData = MyClassMethodDefaultResponse, TError = unknown> = UseQueryResult<TData, TError>;
|
|
38
|
-
const returnTypeExport = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createIdentifier(`${(0, common_1.capitalizeFirstLetter)(className)}${(0, common_1.capitalizeFirstLetter)(methodName)}QueryResult`), [
|
|
39
|
-
typescript_1.default.factory.createTypeParameterDeclaration(undefined, TData, undefined, typescript_1.default.factory.createTypeReferenceNode(defaultApiResponse.name)),
|
|
40
|
-
typescript_1.default.factory.createTypeParameterDeclaration(undefined, TError, undefined, typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.UnknownKeyword)),
|
|
41
|
-
], typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("UseQueryResult"), [
|
|
42
|
-
typescript_1.default.factory.createTypeReferenceNode(TData),
|
|
43
|
-
typescript_1.default.factory.createTypeReferenceNode(TError),
|
|
44
|
-
]));
|
|
45
|
-
// QueryKey
|
|
46
|
-
const queryKeyExport = typescript_1.default.factory.createVariableStatement([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createVariableDeclarationList([
|
|
47
|
-
typescript_1.default.factory.createVariableDeclaration(typescript_1.default.factory.createIdentifier(queryKey), undefined, undefined, typescript_1.default.factory.createStringLiteral(`${className}${(0, common_1.capitalizeFirstLetter)(methodName)}`)),
|
|
48
|
-
], typescript_1.default.NodeFlags.Const));
|
|
49
|
-
// Custom hook
|
|
50
|
-
const hookExport = typescript_1.default.factory.createVariableStatement([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createVariableDeclarationList([
|
|
51
|
-
typescript_1.default.factory.createVariableDeclaration(typescript_1.default.factory.createIdentifier(customHookName), undefined, undefined, typescript_1.default.factory.createArrowFunction(undefined, typescript_1.default.factory.createNodeArray([
|
|
52
|
-
responseDataType,
|
|
53
|
-
typescript_1.default.factory.createTypeParameterDeclaration(undefined, TError, undefined, typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.UnknownKeyword)),
|
|
54
|
-
typescript_1.default.factory.createTypeParameterDeclaration(undefined, "TQueryKey", queryKeyConstraint, typescript_1.default.factory.createArrayTypeNode(typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.UnknownKeyword))),
|
|
55
|
-
]), [
|
|
56
|
-
...requestParam,
|
|
57
|
-
typescript_1.default.factory.createParameterDeclaration(undefined, undefined, typescript_1.default.factory.createIdentifier("queryKey"), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken), queryKeyGenericType),
|
|
58
|
-
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"), [
|
|
59
|
-
typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("UseQueryOptions"), [
|
|
60
|
-
typescript_1.default.factory.createTypeReferenceNode(TData),
|
|
61
|
-
typescript_1.default.factory.createTypeReferenceNode(TError),
|
|
62
|
-
]),
|
|
63
|
-
typescript_1.default.factory.createUnionTypeNode([
|
|
64
|
-
typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral("queryKey")),
|
|
65
|
-
typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral("queryFn")),
|
|
66
|
-
typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral("initialData")),
|
|
67
|
-
]),
|
|
68
|
-
])),
|
|
69
|
-
], undefined, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsGreaterThanToken), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("useQuery"), [
|
|
70
|
-
typescript_1.default.factory.createTypeReferenceNode(TData),
|
|
71
|
-
typescript_1.default.factory.createTypeReferenceNode(TError),
|
|
72
|
-
], [
|
|
73
|
-
typescript_1.default.factory.createObjectLiteralExpression([
|
|
74
|
-
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("queryKey"), typescript_1.default.factory.createArrayLiteralExpression([
|
|
75
|
-
typescript_1.default.factory.createIdentifier(queryKey),
|
|
76
|
-
typescript_1.default.factory.createSpreadElement(typescript_1.default.factory.createParenthesizedExpression(typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createIdentifier("queryKey"), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionQuestionToken), method.parameters.length
|
|
77
|
-
? typescript_1.default.factory.createArrayLiteralExpression([
|
|
78
|
-
typescript_1.default.factory.createObjectLiteralExpression(method.parameters.map((param) => typescript_1.default.factory.createShorthandPropertyAssignment(typescript_1.default.factory.createIdentifier(param.name.getText(node))))),
|
|
79
|
-
])
|
|
80
|
-
: typescript_1.default.factory.createArrayLiteralExpression([])))),
|
|
81
|
-
], false)),
|
|
82
|
-
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("queryFn"), typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsGreaterThanToken), typescript_1.default.factory.createAsExpression(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.createTypeReferenceNode(TData)))),
|
|
83
|
-
typescript_1.default.factory.createSpreadAssignment(typescript_1.default.factory.createIdentifier("options")),
|
|
84
|
-
]),
|
|
85
|
-
]))),
|
|
86
|
-
], typescript_1.default.NodeFlags.Const));
|
|
87
|
-
const hookWithJsDoc = (0, util_1.addJSDocToNode)(hookExport, node, deprecated, jsDoc);
|
|
88
|
-
return [defaultApiResponse, returnTypeExport, queryKeyExport, hookWithJsDoc];
|
|
89
|
-
};
|
|
90
|
-
exports.createUseQuery = createUseQuery;
|
package/dist/src/generate.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.generate = void 0;
|
|
7
|
-
const openapi_typescript_codegen_1 = require("openapi-typescript-codegen");
|
|
8
|
-
const print_1 = require("./print");
|
|
9
|
-
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const createSource_1 = require("./createSource");
|
|
11
|
-
const constants_1 = require("./constants");
|
|
12
|
-
async function generate(options) {
|
|
13
|
-
const openApiOutputPath = path_1.default.join(options.output ?? constants_1.defaultOutputPath, constants_1.requestsOutputPath);
|
|
14
|
-
await (0, openapi_typescript_codegen_1.generate)({
|
|
15
|
-
...options,
|
|
16
|
-
httpClient: options.client,
|
|
17
|
-
output: openApiOutputPath,
|
|
18
|
-
});
|
|
19
|
-
const source = (0, createSource_1.createSource)(openApiOutputPath);
|
|
20
|
-
(0, print_1.print)(source, options);
|
|
21
|
-
}
|
|
22
|
-
exports.generate = generate;
|
package/dist/src/print.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.print = void 0;
|
|
7
|
-
const fs_1 = __importDefault(require("fs"));
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const constants_1 = require("./constants");
|
|
10
|
-
function printGeneratedTS(result, options) {
|
|
11
|
-
const dir = path_1.default.join(options.output ?? constants_1.defaultOutputPath, constants_1.queriesOutputPath);
|
|
12
|
-
if (!fs_1.default.existsSync(dir)) {
|
|
13
|
-
fs_1.default.mkdirSync(dir, { recursive: true });
|
|
14
|
-
}
|
|
15
|
-
fs_1.default.writeFileSync(path_1.default.join(dir, "index.ts"), result);
|
|
16
|
-
}
|
|
17
|
-
function print(result, options) {
|
|
18
|
-
const outputPath = options.output ?? constants_1.defaultOutputPath;
|
|
19
|
-
if (!fs_1.default.existsSync(outputPath)) {
|
|
20
|
-
fs_1.default.mkdirSync(outputPath);
|
|
21
|
-
}
|
|
22
|
-
printGeneratedTS(result, options);
|
|
23
|
-
}
|
|
24
|
-
exports.print = print;
|