jszy-swagger-doc-generator 1.4.1 → 1.5.0

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.
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.registerHandlebarHelpers = registerHandlebarHelpers;
37
+ const Handlebars = __importStar(require("handlebars"));
38
+ /**
39
+ * Register all Handlebars helpers used in templates
40
+ */
41
+ function registerHandlebarHelpers() {
42
+ // Helper to convert to camelCase
43
+ Handlebars.registerHelper('camelCase', function (str) {
44
+ if (typeof str !== 'string') {
45
+ return '';
46
+ }
47
+ return str
48
+ .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => {
49
+ return index === 0 ? word.toLowerCase() : word.toUpperCase();
50
+ })
51
+ .replace(/\s+/g, '');
52
+ });
53
+ // Helper to convert to PascalCase
54
+ Handlebars.registerHelper('pascalCase', function (str) {
55
+ if (typeof str !== 'string') {
56
+ return '';
57
+ }
58
+ return str
59
+ .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => {
60
+ return index === 0 ? word.toUpperCase() : word.toUpperCase();
61
+ })
62
+ .replace(/\s+/g, '');
63
+ });
64
+ // Helper to check if array has elements
65
+ Handlebars.registerHelper('hasElements', function (arr) {
66
+ return arr && arr.length > 0;
67
+ });
68
+ // Helper for conditional rendering
69
+ Handlebars.registerHelper('ifCond', function (v1, operator, v2, options) {
70
+ switch (operator) {
71
+ case '==':
72
+ return v1 == v2 ? options.fn(this) : options.inverse(this);
73
+ case '===':
74
+ return v1 === v2 ? options.fn(this) : options.inverse(this);
75
+ case '<':
76
+ return v1 < v2 ? options.fn(this) : options.inverse(this);
77
+ case '<=':
78
+ return v1 <= v2 ? options.fn(this) : options.inverse(this);
79
+ case '>':
80
+ return v1 > v2 ? options.fn(this) : options.inverse(this);
81
+ case '>=':
82
+ return v1 >= v2 ? options.fn(this) : options.inverse(this);
83
+ case '&&':
84
+ return v1 && v2 ? options.fn(this) : options.inverse(this);
85
+ case '||':
86
+ return v1 || v2 ? options.fn(this) : options.inverse(this);
87
+ default:
88
+ return options.inverse(this);
89
+ }
90
+ });
91
+ }
92
+ //# sourceMappingURL=handlebars.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlebars.helpers.js","sourceRoot":"","sources":["../../src/helpers/handlebars.helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Transforms a string to PascalCase
3
+ */
4
+ export declare function toPascalCase(str: string): string;
5
+ /**
6
+ * Transforms a string to camelCase
7
+ */
8
+ export declare function toCamelCase(str: string): string;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toPascalCase = toPascalCase;
4
+ exports.toCamelCase = toCamelCase;
5
+ /**
6
+ * Transforms a string to PascalCase
7
+ */
8
+ function toPascalCase(str) {
9
+ return str
10
+ .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => {
11
+ return index === 0 ? word.toUpperCase() : word.toUpperCase();
12
+ })
13
+ .replace(/\s+/g, '');
14
+ }
15
+ /**
16
+ * Transforms a string to camelCase
17
+ */
18
+ function toCamelCase(str) {
19
+ return str
20
+ .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => {
21
+ return index === 0 ? word.toLowerCase() : word.toUpperCase();
22
+ })
23
+ .replace(/\s+/g, '');
24
+ }
25
+ //# sourceMappingURL=string.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.helpers.js","sourceRoot":"","sources":["../../src/helpers/string.helpers.ts"],"names":[],"mappings":";;AAGA,oCAMC;AAKD,kCAMC;AApBD;;GAEG;AACH,SAAgB,YAAY,CAAC,GAAW;IACtC,OAAO,GAAG;SACP,OAAO,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC9C,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC/D,CAAC,CAAC;SACD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG;SACP,OAAO,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC9C,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC/D,CAAC,CAAC;SACD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACzB,CAAC"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Compiles and renders a Handlebars template
3
+ */
4
+ export declare function compileTemplate(templatePath: string, context: any): string;
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.compileTemplate = compileTemplate;
37
+ const fs = __importStar(require("fs"));
38
+ const Handlebars = __importStar(require("handlebars"));
39
+ // Register helpers when module loads
40
+ (function () {
41
+ // Helper to convert to camelCase
42
+ Handlebars.registerHelper('camelCase', function (str) {
43
+ if (typeof str !== 'string') {
44
+ return '';
45
+ }
46
+ return str
47
+ .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => {
48
+ return index === 0 ? word.toLowerCase() : word.toUpperCase();
49
+ })
50
+ .replace(/\s+/g, '');
51
+ });
52
+ // Helper to convert to PascalCase
53
+ Handlebars.registerHelper('pascalCase', function (str) {
54
+ if (typeof str !== 'string') {
55
+ return '';
56
+ }
57
+ return str
58
+ .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => {
59
+ return index === 0 ? word.toUpperCase() : word.toUpperCase();
60
+ })
61
+ .replace(/\s+/g, '');
62
+ });
63
+ // Helper to check if array has elements
64
+ Handlebars.registerHelper('hasElements', function (arr) {
65
+ return arr && arr.length > 0;
66
+ });
67
+ // Helper for conditional rendering
68
+ Handlebars.registerHelper('ifCond', function (v1, operator, v2, options) {
69
+ switch (operator) {
70
+ case '==':
71
+ return v1 == v2 ? options.fn(this) : options.inverse(this);
72
+ case '===':
73
+ return v1 === v2 ? options.fn(this) : options.inverse(this);
74
+ case '<':
75
+ return v1 < v2 ? options.fn(this) : options.inverse(this);
76
+ case '<=':
77
+ return v1 <= v2 ? options.fn(this) : options.inverse(this);
78
+ case '>':
79
+ return v1 > v2 ? options.fn(this) : options.inverse(this);
80
+ case '>=':
81
+ return v1 >= v2 ? options.fn(this) : options.inverse(this);
82
+ case '&&':
83
+ return v1 && v2 ? options.fn(this) : options.inverse(this);
84
+ case '||':
85
+ return v1 || v2 ? options.fn(this) : options.inverse(this);
86
+ default:
87
+ return options.inverse(this);
88
+ }
89
+ });
90
+ })();
91
+ /**
92
+ * Compiles and renders a Handlebars template
93
+ */
94
+ function compileTemplate(templatePath, context) {
95
+ try {
96
+ const templateSource = fs.readFileSync(templatePath, 'utf8');
97
+ const template = Handlebars.compile(templateSource);
98
+ return template(context);
99
+ }
100
+ catch (error) {
101
+ console.error(`Error compiling template ${templatePath}:`, error);
102
+ throw error;
103
+ }
104
+ }
105
+ //# sourceMappingURL=template.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.helpers.js","sourceRoot":"","sources":["../../src/helpers/template.helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Converts OpenAPI types to TypeScript types
3
+ */
4
+ export declare function convertTypeToTs(typeDef: any, schemaComponents: {
5
+ [key: string]: any;
6
+ }): string;
7
+ /**
8
+ * Generates a single TypeScript type definition
9
+ */
10
+ export declare function generateSingleTypeDefinition(typeName: string, schema: any, allSchemas: {
11
+ [key: string]: any;
12
+ }): string;
13
+ /**
14
+ * Generates an inline object interface for allOf composition
15
+ */
16
+ export declare function generateInlineObjectInterface(schema: any, tempName: string, allSchemas: {
17
+ [key: string]: any;
18
+ }): string;
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertTypeToTs = convertTypeToTs;
4
+ exports.generateSingleTypeDefinition = generateSingleTypeDefinition;
5
+ exports.generateInlineObjectInterface = generateInlineObjectInterface;
6
+ /**
7
+ * Converts OpenAPI types to TypeScript types
8
+ */
9
+ function convertTypeToTs(typeDef, schemaComponents) {
10
+ if (!typeDef)
11
+ return 'any';
12
+ if (typeDef.$ref) {
13
+ // Extract the type name from the reference
14
+ const refTypeName = typeDef.$ref.split('/').pop();
15
+ return refTypeName || 'any';
16
+ }
17
+ // Handle allOf (used for composition/references) - combine all properties
18
+ if (typeDef.allOf && Array.isArray(typeDef.allOf)) {
19
+ const combinedProperties = {};
20
+ const refTypes = [];
21
+ for (const item of typeDef.allOf) {
22
+ if (item.$ref) {
23
+ // Extract the type name from the reference
24
+ const refTypeName = item.$ref.split('/').pop();
25
+ if (refTypeName) {
26
+ refTypes.push(refTypeName);
27
+ }
28
+ }
29
+ else if (item.type === 'object' && item.properties) {
30
+ // Combine properties from inline object definitions
31
+ Object.assign(combinedProperties, item.properties);
32
+ }
33
+ }
34
+ if (refTypes.length > 0 && Object.keys(combinedProperties).length > 0) {
35
+ // We have both references and inline properties
36
+ const inlineDef = {
37
+ type: 'object',
38
+ properties: combinedProperties,
39
+ required: typeDef.required
40
+ };
41
+ const inlineType = convertTypeToTs(inlineDef, schemaComponents);
42
+ return `${refTypes.join(' & ')} & ${inlineType}`;
43
+ }
44
+ else if (refTypes.length > 0) {
45
+ // Only references
46
+ return refTypes.join(' & ');
47
+ }
48
+ else if (Object.keys(combinedProperties).length > 0) {
49
+ // Only inline properties
50
+ return convertTypeToTs({
51
+ type: 'object',
52
+ properties: combinedProperties,
53
+ required: typeDef.required
54
+ }, schemaComponents);
55
+ }
56
+ else {
57
+ return 'any';
58
+ }
59
+ }
60
+ // Handle oneOf (union types)
61
+ if (typeDef.oneOf && Array.isArray(typeDef.oneOf)) {
62
+ return typeDef.oneOf.map((item) => {
63
+ if (item.$ref) {
64
+ return item.$ref.split('/').pop();
65
+ }
66
+ else if (item.type) {
67
+ return convertTypeToTs(item, schemaComponents);
68
+ }
69
+ return 'any';
70
+ }).filter(Boolean).join(' | ') || 'any';
71
+ }
72
+ // Handle anyOf (union types)
73
+ if (typeDef.anyOf && Array.isArray(typeDef.anyOf)) {
74
+ return typeDef.anyOf.map((item) => {
75
+ if (item.$ref) {
76
+ return item.$ref.split('/').pop();
77
+ }
78
+ else if (item.type) {
79
+ return convertTypeToTs(item, schemaComponents);
80
+ }
81
+ return 'any';
82
+ }).filter(Boolean).join(' | ') || 'any';
83
+ }
84
+ if (Array.isArray(typeDef.type)) {
85
+ // Handle union types like ["string", "null"]
86
+ if (typeDef.type.includes('null')) {
87
+ const nonNullTypes = typeDef.type.filter((t) => t !== 'null');
88
+ if (nonNullTypes.length === 1) {
89
+ return `${convertTypeToTs({ ...typeDef, type: nonNullTypes[0] }, schemaComponents)} | null`;
90
+ }
91
+ else {
92
+ // Handle complex union types with null
93
+ const nonNullTypeStr = nonNullTypes
94
+ .map((t) => convertTypeToTs({ ...typeDef, type: t }, schemaComponents))
95
+ .join(' | ');
96
+ return `${nonNullTypeStr} | null`;
97
+ }
98
+ }
99
+ // Handle other array type unions
100
+ return typeDef.type
101
+ .map((t) => convertTypeToTs({ ...typeDef, type: t }, schemaComponents))
102
+ .join(' | ') || 'any';
103
+ }
104
+ switch (typeDef.type) {
105
+ case 'string':
106
+ if (typeDef.enum) {
107
+ return `"${typeDef.enum.join('" | "')}"`;
108
+ }
109
+ if (typeDef.format === 'date' || typeDef.format === 'date-time') {
110
+ return 'string';
111
+ }
112
+ return 'string';
113
+ case 'integer':
114
+ case 'number':
115
+ return 'number';
116
+ case 'boolean':
117
+ return 'boolean';
118
+ case 'array':
119
+ if (typeDef.items) {
120
+ return `${convertTypeToTs(typeDef.items, schemaComponents)}[]`;
121
+ }
122
+ return 'any[]';
123
+ case 'object':
124
+ if (typeDef.properties) {
125
+ // Inline object definition
126
+ const fields = Object.entries(typeDef.properties)
127
+ .map(([propName, propSchema]) => {
128
+ const required = typeDef.required && typeDef.required.includes(propName);
129
+ const optional = !required ? '?' : '';
130
+ const type = convertTypeToTs(propSchema, schemaComponents);
131
+ // Get the description for JSDoc if available
132
+ const propDescription = propSchema.description || propSchema.title;
133
+ const jsDoc = propDescription ? ` /** ${propDescription} */\n` : '';
134
+ return `${jsDoc} ${propName}${optional}: ${type};`;
135
+ })
136
+ .join('\n');
137
+ return `{\n${fields}\n }`;
138
+ }
139
+ return 'Record<string, any>';
140
+ case 'null':
141
+ return 'null';
142
+ default:
143
+ return 'any';
144
+ }
145
+ }
146
+ /**
147
+ * Generates a single TypeScript type definition
148
+ */
149
+ function generateSingleTypeDefinition(typeName, schema, allSchemas) {
150
+ if (schema.enum) {
151
+ // Enum type
152
+ return `export type ${typeName} = ${schema.enum.map((val) => `'${val}'`).join(' | ')};\n`;
153
+ }
154
+ if (schema.oneOf || schema.anyOf) {
155
+ // Union type or complex type (oneOf/anyOf)
156
+ const typeOption = schema.oneOf ? 'oneOf' : 'anyOf';
157
+ const types = schema[typeOption].map((item) => {
158
+ if (item.$ref) {
159
+ return item.$ref.split('/').pop();
160
+ }
161
+ else if (item.type) {
162
+ return convertTypeToTs(item, allSchemas);
163
+ }
164
+ else {
165
+ return 'any';
166
+ }
167
+ }).filter(Boolean);
168
+ return `export type ${typeName} = ${types.join(' | ')};\n`;
169
+ }
170
+ if (schema.allOf) {
171
+ // Handle allOf - composition of multiple schemas
172
+ const allParts = [];
173
+ for (const part of schema.allOf) {
174
+ if (part.$ref) {
175
+ const refTypeName = part.$ref.split('/').pop();
176
+ if (refTypeName) {
177
+ allParts.push(refTypeName);
178
+ }
179
+ }
180
+ else if (part.type === 'object' && part.properties) {
181
+ // Create a temporary interface for inline object
182
+ const inlineInterface = generateInlineObjectInterface(part, `${typeName}Inline`, allSchemas);
183
+ allParts.push(inlineInterface);
184
+ }
185
+ }
186
+ return `export type ${typeName} = ${allParts.join(' & ')};\n`;
187
+ }
188
+ if (schema.type === 'object') {
189
+ // Object type
190
+ let result = `export interface ${typeName} {\n`;
191
+ if (schema.properties) {
192
+ Object.entries(schema.properties).forEach(([propName, propSchema]) => {
193
+ const required = schema.required && schema.required.includes(propName);
194
+ const optional = !required ? '?' : '';
195
+ // Add JSDoc comment if available (using title or description)
196
+ const jsDoc = propSchema.title || propSchema.description;
197
+ if (jsDoc) {
198
+ result += ` /** ${jsDoc} */\n`;
199
+ }
200
+ result += ` ${propName}${optional}: ${convertTypeToTs(propSchema, allSchemas)};\n`;
201
+ });
202
+ }
203
+ result += '}\n';
204
+ return result;
205
+ }
206
+ // For other types (string, number, etc.) that might have additional properties
207
+ return `export type ${typeName} = ${convertTypeToTs(schema, allSchemas)};\n`;
208
+ }
209
+ /**
210
+ * Generates an inline object interface for allOf composition
211
+ */
212
+ function generateInlineObjectInterface(schema, tempName, allSchemas) {
213
+ if (!schema.properties)
214
+ return 'any';
215
+ let result = '{\n';
216
+ Object.entries(schema.properties).forEach(([propName, propSchema]) => {
217
+ const required = schema.required && schema.required.includes(propName);
218
+ const optional = !required ? '?' : '';
219
+ // Add JSDoc comment if available (using title or description)
220
+ const jsDoc = propSchema.title || propSchema.description;
221
+ if (jsDoc) {
222
+ result += ` /** ${jsDoc} */\n`;
223
+ }
224
+ result += ` ${propName}${optional}: ${convertTypeToTs(propSchema, allSchemas)};\n`;
225
+ });
226
+ result += ' }';
227
+ return result;
228
+ }
229
+ //# sourceMappingURL=type.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.helpers.js","sourceRoot":"","sources":["../../src/helpers/type.helpers.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -70,6 +70,14 @@ export interface Parameter {
70
70
  };
71
71
  }
72
72
  export declare class SwaggerDocGenerator {
73
+ /**
74
+ * Transforms a string to PascalCase
75
+ */
76
+ private toPascalCase;
77
+ /**
78
+ * Transforms a string to camelCase
79
+ */
80
+ private toCamelCase;
73
81
  /**
74
82
  * Fetches the Swagger/OpenAPI JSON from a given URL
75
83
  */
@@ -86,12 +94,23 @@ export declare class SwaggerDocGenerator {
86
94
  * Generates TypeScript type definitions from the schemas in Swagger doc
87
95
  */
88
96
  generateTypeDefinitions(swaggerDoc: SwaggerDoc): string;
97
+ /**
98
+ * Generates React hooks from the paths in Swagger doc organized by tag
99
+ */
100
+ /**
101
+ * Converts OpenAPI types to TypeScript types
102
+ */
103
+ private convertTypeToTs;
89
104
  /**
90
105
  * Generates a single TypeScript type definition
91
106
  */
92
107
  generateSingleTypeDefinition(typeName: string, schema: any, allSchemas: {
93
108
  [key: string]: any;
94
109
  }): string;
110
+ /**
111
+ * Generates an inline object interface for allOf composition
112
+ */
113
+ private generateInlineObjectInterface;
95
114
  /**
96
115
  * Generates React hooks from the paths in Swagger doc organized by tag
97
116
  */
@@ -166,4 +185,16 @@ export declare class SwaggerDocGenerator {
166
185
  hooks: string;
167
186
  types: string;
168
187
  }>, outputDir: string): void;
188
+ /**
189
+ * Generates frontend resources using Handlebars templates
190
+ */
191
+ generateHandlebarsResources(swaggerDoc: SwaggerDoc, templatePaths?: {
192
+ hooks?: string;
193
+ types?: string;
194
+ components?: string;
195
+ pages?: string;
196
+ }): Map<string, {
197
+ hooks: string;
198
+ types: string;
199
+ }>;
169
200
  }