jszy-swagger-doc-generator 1.4.0 → 1.4.1

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/dist/index.js CHANGED
@@ -557,7 +557,22 @@ class SwaggerDocGenerator {
557
557
  }
558
558
  // Create a unique interface name based on the operation ID
559
559
  const operationId = endpointInfo.operationId || this.generateOperationId(path, method);
560
- const interfaceName = `${toPascalCase(operationId)}Params`;
560
+ // Extract action name from operationId to create cleaner parameter interface names
561
+ // e.g. configController_updateConfig -> UpdateConfigParams instead of ConfigController_updateConfigParams
562
+ let interfaceName;
563
+ if (operationId.includes('_')) {
564
+ const parts = operationId.split('_');
565
+ if (parts.length >= 2) {
566
+ // Use just the action part in the interface name
567
+ interfaceName = `${toPascalCase(parts[parts.length - 1])}Params`;
568
+ }
569
+ else {
570
+ interfaceName = `${toPascalCase(operationId)}Params`;
571
+ }
572
+ }
573
+ else {
574
+ interfaceName = `${toPascalCase(operationId)}Params`;
575
+ }
561
576
  let paramsInterface = `export interface ${interfaceName} {\n`;
562
577
  // Add path parameters
563
578
  pathParams.forEach((param) => {
@@ -579,7 +594,21 @@ class SwaggerDocGenerator {
579
594
  */
580
595
  generateReactQueryHook(path, method, endpointInfo, schemas) {
581
596
  const operationId = endpointInfo.operationId || this.generateOperationId(path, method);
582
- const hookName = `use${toPascalCase(operationId)}`;
597
+ // Extract action name from operationId to create cleaner hook names
598
+ // e.g. configController_updateConfig -> useUpdateConfig instead of useConfigController_updateConfig
599
+ let hookName = `use${toPascalCase(operationId)}`;
600
+ // Check if operationId follows pattern controller_action and simplify to action
601
+ if (operationId.includes('_')) {
602
+ const parts = operationId.split('_');
603
+ if (parts.length >= 2) {
604
+ // Use just the action part as the hook name
605
+ hookName = `use${toPascalCase(parts[parts.length - 1])}`;
606
+ }
607
+ }
608
+ else {
609
+ // For operationIds without underscores, keep the original naming
610
+ hookName = `use${toPascalCase(operationId)}`;
611
+ }
583
612
  const hookType = method.toLowerCase() === 'get' ? 'useQuery' : 'useMutation';
584
613
  // Use unique parameter interface name
585
614
  const pathParams = endpointInfo.parameters?.filter((p) => p.in === 'path') || [];
@@ -602,16 +631,17 @@ class SwaggerDocGenerator {
602
631
  hasBody = true;
603
632
  }
604
633
  }
605
- // Format the path for use in the code (handle path parameters)
606
- const pathWithParams = path.replace(/{(\w+)}/g, (_, param) => `\${params.${toCamelCase(param)}}`);
607
- const axiosPath = `\`\${process.env.REACT_APP_API_BASE_URL || ''}${pathWithParams}\``;
634
+ // Format the path for use in the code (handle path parameters) - without base URL
635
+ const formattedPath = path.replace(/{(\w+)}/g, (_, param) => `\${params.${toCamelCase(param)}}`);
636
+ const axiosPath = `\`${formattedPath}\``;
608
637
  // Generate the hook code
609
638
  let hookCode = '';
610
639
  if (method.toLowerCase() === 'get') {
611
640
  // For GET requests, use useQuery
612
641
  const hasParams = pathParams.length > 0 || queryParams.length > 0;
613
642
  if (hasParams) {
614
- const paramInterfaceName = `${toPascalCase(operationId)}Params`;
643
+ // Generate simpler parameter interface name based on hook name instead of operationId
644
+ const paramInterfaceName = `${hookName.replace('use', '')}Params`;
615
645
  hookCode += `export const ${hookName} = (params: ${paramInterfaceName}) => {\n`;
616
646
  hookCode += ` return useQuery({\n`;
617
647
  hookCode += ` queryKey: ['${operationId}', params],\n`;
@@ -638,15 +668,13 @@ class SwaggerDocGenerator {
638
668
  // For non-GET requests, use useMutation
639
669
  const hasPathParams = pathParams.length > 0;
640
670
  if (hasPathParams) {
641
- const paramInterfaceName = `${toPascalCase(operationId)}Params`;
671
+ // Generate simpler parameter interface name based on hook name instead of operationId
672
+ const paramInterfaceName = `${hookName.replace('use', '')}Params`;
642
673
  hookCode += `export const ${hookName} = () => {\n`;
643
674
  hookCode += ` const queryClient = useQueryClient();\n\n`;
644
675
  hookCode += ` return useMutation({\n`;
645
676
  hookCode += ` mutationFn: async ({ params, data }: { params: ${paramInterfaceName}; data: ${requestBodyType} }) => {\n`;
646
- // Format the path for use in the code (handle path parameters)
647
- let formattedPath = path.replace(/{(\w+)}/g, (_, param) => `\${params.${toCamelCase(param)}}`);
648
- const pathWithParams = `\`\${process.env.REACT_APP_API_BASE_URL || ''}${formattedPath}\``;
649
- hookCode += ` const response = await axios.${method.toLowerCase()}<${responseType}>(${pathWithParams}, data);\n`;
677
+ hookCode += ` const response = await axios.${method.toLowerCase()}<${responseType}>(${axiosPath}, data);\n`;
650
678
  hookCode += ` return response.data;\n`;
651
679
  hookCode += ` },\n`;
652
680
  hookCode += ` onSuccess: () => {\n`;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jszy-swagger-doc-generator",
3
- "version": "1.4.0",
3
+ "version": "1.4.1",
4
4
  "description": "A tool to generate frontend documentation from Swagger/OpenAPI JSON files",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
package/src/index.ts CHANGED
@@ -657,7 +657,21 @@ export class SwaggerDocGenerator {
657
657
 
658
658
  // Create a unique interface name based on the operation ID
659
659
  const operationId = endpointInfo.operationId || this.generateOperationId(path, method);
660
- const interfaceName = `${toPascalCase(operationId)}Params`;
660
+
661
+ // Extract action name from operationId to create cleaner parameter interface names
662
+ // e.g. configController_updateConfig -> UpdateConfigParams instead of ConfigController_updateConfigParams
663
+ let interfaceName: string;
664
+ if (operationId.includes('_')) {
665
+ const parts = operationId.split('_');
666
+ if (parts.length >= 2) {
667
+ // Use just the action part in the interface name
668
+ interfaceName = `${toPascalCase(parts[parts.length - 1])}Params`;
669
+ } else {
670
+ interfaceName = `${toPascalCase(operationId)}Params`;
671
+ }
672
+ } else {
673
+ interfaceName = `${toPascalCase(operationId)}Params`;
674
+ }
661
675
 
662
676
  let paramsInterface = `export interface ${interfaceName} {\n`;
663
677
 
@@ -684,7 +698,23 @@ export class SwaggerDocGenerator {
684
698
  */
685
699
  generateReactQueryHook(path: string, method: string, endpointInfo: any, schemas: { [key: string]: any }): string {
686
700
  const operationId = endpointInfo.operationId || this.generateOperationId(path, method);
687
- const hookName = `use${toPascalCase(operationId)}`;
701
+
702
+ // Extract action name from operationId to create cleaner hook names
703
+ // e.g. configController_updateConfig -> useUpdateConfig instead of useConfigController_updateConfig
704
+ let hookName = `use${toPascalCase(operationId)}`;
705
+
706
+ // Check if operationId follows pattern controller_action and simplify to action
707
+ if (operationId.includes('_')) {
708
+ const parts = operationId.split('_');
709
+ if (parts.length >= 2) {
710
+ // Use just the action part as the hook name
711
+ hookName = `use${toPascalCase(parts[parts.length - 1])}`;
712
+ }
713
+ } else {
714
+ // For operationIds without underscores, keep the original naming
715
+ hookName = `use${toPascalCase(operationId)}`;
716
+ }
717
+
688
718
  const hookType = method.toLowerCase() === 'get' ? 'useQuery' : 'useMutation';
689
719
 
690
720
  // Use unique parameter interface name
@@ -711,9 +741,9 @@ export class SwaggerDocGenerator {
711
741
  }
712
742
  }
713
743
 
714
- // Format the path for use in the code (handle path parameters)
715
- const pathWithParams = path.replace(/{(\w+)}/g, (_, param) => `\${params.${toCamelCase(param)}}`);
716
- const axiosPath = `\`\${process.env.REACT_APP_API_BASE_URL || ''}${pathWithParams}\``;
744
+ // Format the path for use in the code (handle path parameters) - without base URL
745
+ const formattedPath = path.replace(/{(\w+)}/g, (_, param) => `\${params.${toCamelCase(param)}}`);
746
+ const axiosPath = `\`${formattedPath}\``;
717
747
 
718
748
  // Generate the hook code
719
749
  let hookCode = '';
@@ -722,7 +752,8 @@ export class SwaggerDocGenerator {
722
752
  // For GET requests, use useQuery
723
753
  const hasParams = pathParams.length > 0 || queryParams.length > 0;
724
754
  if (hasParams) {
725
- const paramInterfaceName = `${toPascalCase(operationId)}Params`;
755
+ // Generate simpler parameter interface name based on hook name instead of operationId
756
+ const paramInterfaceName = `${hookName.replace('use', '')}Params`;
726
757
  hookCode += `export const ${hookName} = (params: ${paramInterfaceName}) => {\n`;
727
758
  hookCode += ` return useQuery({\n`;
728
759
  hookCode += ` queryKey: ['${operationId}', params],\n`;
@@ -747,15 +778,13 @@ export class SwaggerDocGenerator {
747
778
  // For non-GET requests, use useMutation
748
779
  const hasPathParams = pathParams.length > 0;
749
780
  if (hasPathParams) {
750
- const paramInterfaceName = `${toPascalCase(operationId)}Params`;
781
+ // Generate simpler parameter interface name based on hook name instead of operationId
782
+ const paramInterfaceName = `${hookName.replace('use', '')}Params`;
751
783
  hookCode += `export const ${hookName} = () => {\n`;
752
784
  hookCode += ` const queryClient = useQueryClient();\n\n`;
753
785
  hookCode += ` return useMutation({\n`;
754
786
  hookCode += ` mutationFn: async ({ params, data }: { params: ${paramInterfaceName}; data: ${requestBodyType} }) => {\n`;
755
- // Format the path for use in the code (handle path parameters)
756
- let formattedPath = path.replace(/{(\w+)}/g, (_, param) => `\${params.${toCamelCase(param)}}`);
757
- const pathWithParams = `\`\${process.env.REACT_APP_API_BASE_URL || ''}${formattedPath}\``;
758
- hookCode += ` const response = await axios.${method.toLowerCase()}<${responseType}>(${pathWithParams}, data);\n`;
787
+ hookCode += ` const response = await axios.${method.toLowerCase()}<${responseType}>(${axiosPath}, data);\n`;
759
788
  hookCode += ` return response.data;\n`;
760
789
  hookCode += ` },\n`;
761
790
  hookCode += ` onSuccess: () => {\n`;