react-query-lightbase-codegen 1.6.3 → 2.0.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.
Files changed (52) hide show
  1. package/dist/config/loadConfig.d.ts +2 -0
  2. package/dist/config/loadConfig.js +24 -0
  3. package/dist/generator/clientGenerator.d.ts +13 -0
  4. package/dist/generator/clientGenerator.js +199 -0
  5. package/dist/generator/instanceGenerator.d.ts +1 -0
  6. package/dist/generator/instanceGenerator.js +21 -0
  7. package/dist/generator/reactQueryGenerator.d.ts +2 -0
  8. package/dist/generator/reactQueryGenerator.js +82 -0
  9. package/dist/generator/schemaGenerator.d.ts +5 -0
  10. package/dist/generator/schemaGenerator.js +116 -0
  11. package/dist/index.d.ts +5 -3
  12. package/dist/index.js +106 -4
  13. package/dist/types/config.d.ts +11 -0
  14. package/dist/types/config.js +2 -0
  15. package/dist/types.d.ts +5 -0
  16. package/dist/types.js +2 -0
  17. package/dist/utils.d.ts +31 -20
  18. package/dist/utils.js +57 -179
  19. package/package.json +54 -82
  20. package/readme.md +94 -0
  21. package/src/config/loadConfig.ts +25 -0
  22. package/src/generator/clientGenerator.ts +234 -0
  23. package/src/generator/instanceGenerator.ts +20 -0
  24. package/src/generator/reactQueryGenerator.ts +92 -0
  25. package/src/generator/schemaGenerator.ts +139 -0
  26. package/src/index.ts +78 -3
  27. package/src/types/config.ts +12 -0
  28. package/src/types.ts +5 -0
  29. package/src/utils.ts +56 -213
  30. package/README.md +0 -77
  31. package/dist/convertSwaggerFile.d.ts +0 -5
  32. package/dist/convertSwaggerFile.js +0 -26
  33. package/dist/convertSwaggerFile.js.map +0 -1
  34. package/dist/generateHooks.d.ts +0 -18
  35. package/dist/generateHooks.js +0 -444
  36. package/dist/generateHooks.js.map +0 -1
  37. package/dist/generateImports.d.ts +0 -6
  38. package/dist/generateImports.js +0 -21
  39. package/dist/generateImports.js.map +0 -1
  40. package/dist/generateSchemas.d.ts +0 -7
  41. package/dist/generateSchemas.js +0 -100
  42. package/dist/generateSchemas.js.map +0 -1
  43. package/dist/importSpecs.d.ts +0 -10
  44. package/dist/importSpecs.js +0 -127
  45. package/dist/importSpecs.js.map +0 -1
  46. package/dist/index.js.map +0 -1
  47. package/dist/utils.js.map +0 -1
  48. package/src/convertSwaggerFile.ts +0 -25
  49. package/src/generateHooks.ts +0 -538
  50. package/src/generateImports.ts +0 -32
  51. package/src/generateSchemas.ts +0 -117
  52. package/src/importSpecs.ts +0 -168
@@ -1,444 +0,0 @@
1
- import lodash from 'lodash';
2
- const { get, groupBy } = lodash;
3
- import { formatDescription, getResReqTypes, isReference, resolveValue } from './utils.js';
4
- import pasCase from 'case';
5
- const { pascal, camel } = pasCase;
6
- const IdentifierRegexp = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/;
7
- /**
8
- * Return every params in a path
9
- */
10
- const getParamsInPath = (path) => {
11
- let n;
12
- const output = [];
13
- const templatePathRegex = /\{(\w+)}/g;
14
- while ((n = templatePathRegex.exec(path)) !== null) {
15
- output.push(n[1]);
16
- }
17
- return output;
18
- };
19
- export let imports = [];
20
- /**
21
- * Generate a react-query component from openapi operation specs
22
- */
23
- export const createHook = ({ operation, verb, route, operationIds, parameters, schemasComponents, headerFilters, }) => {
24
- const { operationId = route.replace('/', '') } = operation;
25
- if (operationId === '*') {
26
- throw new Error(`Invalid operationId/Route set for ${verb} ${route}`);
27
- }
28
- if (operationIds.includes(operationId)) {
29
- return { implementation: '', imports: [], queryImports: [] };
30
- }
31
- operationIds.push(operationId);
32
- imports = [];
33
- route = route.replace(/\{/g, '${').replace('//', '/'); // `/pet/{id}` => `/pet/${id}`
34
- // Remove the last param of the route if we are in the DELETE case
35
- let lastParamInTheRoute = null;
36
- const componentName = pascal(operationId);
37
- const isOk = ([statusCode]) => statusCode.toString().startsWith('2');
38
- const responseTypes = getResReqTypes(Object.entries(operation.responses).filter(isOk)) || 'unknown';
39
- const requestBodyTypes = operation.requestBody ? getResReqTypes([['body', operation.requestBody]]) : null;
40
- let queryImports = [];
41
- const paramsInPath = getParamsInPath(route).filter((param) => !(verb === 'delete' && param === lastParamInTheRoute));
42
- const { query: queryParams = [], path: pathParams = [], header = [], } = groupBy([...(parameters || []), ...(operation.parameters || [])].map((p) => {
43
- if (isReference(p)) {
44
- return get(schemasComponents, p.$ref.replace('#/components/', '').replace('/', '.'));
45
- }
46
- else {
47
- return p;
48
- }
49
- }), 'in');
50
- const headerParams = header.filter((p) => !headerFilters?.includes(p.name));
51
- const requiredParams = [...queryParams, ...pathParams, ...headerParams].filter((p) => p.required);
52
- // TODO: extract all requestBody or remove useQuery variants
53
- let enabledParam = true;
54
- if (requiredParams.length) {
55
- enabledParam = 'hasDefinedProps(params,';
56
- enabledParam += requiredParams.map((p) => `"${p.name}"`).join(', ');
57
- }
58
- if (operation.requestBody && 'content' in operation.requestBody) {
59
- // get all required requestBody schemas and output the required properties
60
- const generatedBodyProps = Object.keys(operation.requestBody.content).reduce((acc, contentType) => {
61
- if (contentType.startsWith('application/json') ||
62
- contentType.startsWith('application/ld+json') ||
63
- contentType.startsWith('application/octet-stream')) {
64
- // @ts-ignore
65
- const schema = operation.requestBody.content[contentType].schema;
66
- if ('required' in schema) {
67
- // @ts-ignore
68
- acc.push(...schema.required);
69
- }
70
- }
71
- return acc;
72
- }, []);
73
- if (generatedBodyProps.length) {
74
- if (enabledParam === true) {
75
- enabledParam = 'hasDefinedProps(params,';
76
- enabledParam += generatedBodyProps.map((p) => `"${p}"`).join(', ');
77
- }
78
- else {
79
- enabledParam += ',';
80
- enabledParam += generatedBodyProps.map((p) => `"${p}"`).join(', ');
81
- }
82
- }
83
- }
84
- const paramsTypes = paramsInPath
85
- .map((p) => {
86
- try {
87
- const { name, required, schema } = pathParams.find((i) => i.name === p);
88
- return `${name}${required ? '' : '?'}: ${resolveValue(schema)}`;
89
- }
90
- catch (err) {
91
- throw new Error(`The path params ${p} can't be found in parameters (${operationId})`);
92
- }
93
- })
94
- .join('; ');
95
- const queryParamsType = queryParams
96
- .map((p) => {
97
- const processedName = IdentifierRegexp.test(p.name) ? p.name : `"${p.name}"`;
98
- return `${formatDescription(p.description)}
99
- ${processedName}${p.required ? '' : '?'}: ${resolveValue(p.schema)}`;
100
- })
101
- .join(';\n ');
102
- const headerType = headerParams
103
- .map((p) => {
104
- try {
105
- const { name, required, schema } = headerParams.find((i) => i.name === p.name);
106
- return `"${name}"${required ? '' : '?'}: ${resolveValue(schema)}`;
107
- }
108
- catch (err) {
109
- throw new Error(`The path params ${p} can't be found in parameters (${operationId})`);
110
- }
111
- })
112
- .join('; ');
113
- // Retrieve the type of the param for delete verb
114
- const lastParamInTheRouteDefinition = operation.parameters && lastParamInTheRoute
115
- ? operation.parameters.find((p) => {
116
- if (isReference(p)) {
117
- return false;
118
- }
119
- return p.name === lastParamInTheRoute;
120
- }) // Reference is not possible
121
- : { schema: { type: 'string' } };
122
- if (!lastParamInTheRouteDefinition) {
123
- throw new Error(`The path params ${lastParamInTheRoute} can't be found in parameters (${operationId})`);
124
- }
125
- const defaultDescription = `type: ${verb}\noperationId: ${operationId}\nurl: ${route}`;
126
- const description = formatDescription(operation.summary && operation.description
127
- ? `${defaultDescription}\n\n${operation.summary}\n\n${operation.description}`
128
- : `${defaultDescription}`);
129
- let output = `\n\n${description}`;
130
- const headerParam = headerType && headerType !== 'void' ? `${headerType};` : '';
131
- const queryParam = queryParamsType && queryParamsType !== 'void' ? `${queryParamsType}` : '';
132
- const requestBodyComponent = requestBodyTypes && requestBodyTypes !== 'void' ? `${requestBodyTypes}` : '';
133
- const isUpdateRequest = ['post', 'patch', 'put'].includes(verb);
134
- const fetchName = camel(componentName);
135
- const hasRequestBodyArrray = requestBodyComponent && requestBodyComponent.includes('[]');
136
- const body = hasRequestBodyArrray ? `{body: ${requestBodyComponent}}` : `${requestBodyComponent}`;
137
- const bodyProps = hasRequestBodyArrray ? `{body, ...props}` : 'props';
138
- // const generateEnabledBodyProps = () => {
139
- const definitionKey = Object.keys(schemasComponents?.schemas || {}).find((key) => pascal(key) === requestBodyComponent);
140
- if (definitionKey && !hasRequestBodyArrray) {
141
- const scheme = schemasComponents?.schemas?.[definitionKey];
142
- const generatedBodyProps = Object.keys(scheme.properties);
143
- const requiredBodyProps = generatedBodyProps.filter((p) => scheme.required?.includes(p));
144
- if (requiredBodyProps.length) {
145
- if (enabledParam === true) {
146
- enabledParam = 'hasDefinedProps(params,';
147
- enabledParam += requiredBodyProps.map((p) => `"${p}"`).join(', ');
148
- }
149
- else {
150
- enabledParam += ',';
151
- enabledParam += requiredBodyProps.map((p) => `"${p}"`).join(', ');
152
- }
153
- }
154
- }
155
- if (operation.requestBody && 'content' in operation.requestBody) {
156
- let generatedBodyProps = [];
157
- for (let contentType of Object.keys(operation.requestBody.content)) {
158
- if (contentType.startsWith('application/json') ||
159
- contentType.startsWith('application/ld+json') ||
160
- contentType.startsWith('application/octet-stream')) {
161
- const schema = operation.requestBody.content[contentType].schema;
162
- if ('properties' in schema) {
163
- // @ts-ignore
164
- generatedBodyProps.push(...Object.keys(schema.properties));
165
- }
166
- }
167
- }
168
- }
169
- if (enabledParam !== true) {
170
- enabledParam += ')';
171
- }
172
- const createQueryHooks = (emptyParams) => {
173
- const key = emptyParams ? '' : `params`;
174
- const queryParamType = emptyParams ? '' : `Partial<${componentName}Params>`;
175
- const queryKey = emptyParams
176
- ? `["${componentName.toLowerCase()}"]`
177
- : `["${componentName.toLowerCase()}", params]`;
178
- const props = emptyParams ? `props?` : `params`;
179
- const propTest = emptyParams ? '' : `${props}: ${queryParamType}`;
180
- const createQuery = () => `
181
- export function get${componentName}QueryOptions(${propTest}) {
182
- const enabled = ${enabledParam}
183
-
184
- return queryOptions({
185
- queryKey: ${queryKey},
186
- queryFn: enabled ? () => ${fetchName}(${key}) : skipToken,
187
- });
188
- }`;
189
- queryImports.push('query');
190
- return createQuery();
191
- };
192
- const generateProps = (props) => {
193
- return props.map((item) => `["${item.name}"]: props["${item.name}"]`).join(',');
194
- };
195
- const generateBodyProps = () => {
196
- if (definitionKey && !hasRequestBodyArrray) {
197
- const scheme = schemasComponents?.schemas?.[definitionKey];
198
- const schemProperties = Object.keys(scheme.properties);
199
- if (operation.requestBody &&
200
- 'content' in operation.requestBody &&
201
- Object.keys(operation.requestBody.content)[0] === 'multipart/form-data') {
202
- let formData = `const body = new FormData()`;
203
- schemProperties.forEach((item) => {
204
- if (scheme.required?.includes(item)) {
205
- formData += `\nbody.append("${item}", props["${item}"]);`;
206
- }
207
- else {
208
- formData += `\n if (props["${item}"] != null) {\n body.append("${item}", props["${item}"]);\n}`;
209
- }
210
- });
211
- return formData;
212
- }
213
- const generatedBodyProps = schemProperties
214
- .map((item) => `["${item}"]: props["${item}"]`)
215
- .join(',');
216
- return `const body = {${generatedBodyProps}}`;
217
- }
218
- if (operation.requestBody && 'content' in operation.requestBody) {
219
- let generatedBodyProps = [];
220
- let bodyData = '';
221
- const contentTypes = Object.keys(operation.requestBody.content);
222
- if (contentTypes.includes('multipart/form-data')) {
223
- console.log('UPDATE2');
224
- bodyData += `const body = new FormData()`;
225
- for (let contentType of contentTypes) {
226
- const schema = operation.requestBody.content[contentType].schema;
227
- if ('properties' in schema) {
228
- const schemaProperties = Object.keys(schema.properties || []);
229
- for (let item of schemaProperties) {
230
- if (schema.required?.includes(item)) {
231
- bodyData += `\nbody.append("${item}", props["${item}"].toString());`;
232
- }
233
- else {
234
- bodyData += `\n if (props["${item}"] != null) {\n body.append("${item}", props["${item}"].toString());\n}`;
235
- }
236
- }
237
- }
238
- }
239
- return bodyData;
240
- }
241
- for (let contentType of contentTypes) {
242
- if (contentType.startsWith('application/json') ||
243
- contentType.startsWith('application/ld+json') ||
244
- contentType.startsWith('application/octet-stream')) {
245
- const schema = operation.requestBody.content[contentType].schema;
246
- if ('properties' in schema) {
247
- // @ts-ignore
248
- generatedBodyProps.push(...Object.keys(schema.properties));
249
- }
250
- }
251
- }
252
- return `const body = {${generatedBodyProps.map((item) => `${item}: props["${item}"]`).join(',')}}`;
253
- }
254
- };
255
- const hasFormData = generateBodyProps()?.includes('FormData');
256
- const defaultHeaders = JSON.stringify({
257
- ContentType: hasFormData ? 'multipart/form-data' : 'application/json',
258
- });
259
- if (!requestBodyComponent && !paramsInPath.length && !queryParam && !headerParam) {
260
- output += `
261
- export const ${fetchName} = async () => {
262
- const result = await api.${verb}<${responseTypes}>("${route}");
263
- return result.data;
264
- }
265
- `;
266
- }
267
- if (!requestBodyComponent && paramsInPath.length && queryParam && !headerParam) {
268
- const config = isUpdateRequest ? 'undefined,{params}' : '{params}';
269
- output += `
270
- export type ${componentName}Params = {
271
- ${paramsTypes}
272
- ${queryParamsType};
273
- }
274
-
275
- export const ${fetchName} = async (props:${componentName}Params) => {
276
- const {${paramsInPath.join(', ')}, ...params} = props
277
- const result = await api.${verb}<${responseTypes}>(\`${route}\`, ${config})
278
- return result.data;
279
- }`;
280
- }
281
- if (!requestBodyComponent && paramsInPath.length && !queryParam && !headerParam) {
282
- output += `
283
- export type ${componentName}Params = {
284
- ${paramsTypes}
285
- }
286
-
287
- export const ${fetchName} = async (props: ${componentName}Params ) => {
288
- const result = await api.${verb}<${responseTypes}>(\`${route.replace(/\{/g, '{props.')}\`);
289
- return result.data;
290
- }
291
- `;
292
- }
293
- if (!requestBodyComponent && !paramsInPath.length && queryParam && !headerParam) {
294
- const config = isUpdateRequest ? 'null,{params}' : '{params}';
295
- output += `
296
- export type ${componentName}Params = {
297
- ${queryParamsType}
298
- }
299
-
300
- export const ${fetchName} = async (params: ${componentName}Params) => {
301
- const result = await api.${verb}<${responseTypes}>("${route}", ${config})
302
- return result.data;
303
- }
304
- `;
305
- }
306
- if (!requestBodyComponent && !paramsInPath.length && queryParam && headerParam) {
307
- const config = isUpdateRequest ? 'null,{headers, params: queryParams}' : '{headers, params: queryParams}';
308
- output += `
309
- export type ${componentName}Params = {
310
- ${headerParam}
311
- ${queryParamsType}
312
- }
313
- export const ${fetchName} = async (props: ${componentName}Params) => {
314
- const headers = {${generateProps(header)}}
315
- const queryParams = {${generateProps(queryParams)}}
316
- const result = await api.${verb}<${responseTypes}>("${route}", ${config})
317
- return result.data
318
- }`;
319
- }
320
- if (!requestBodyComponent && !paramsInPath.length && !queryParam && headerParam) {
321
- const config = isUpdateRequest ? 'null,{headers}' : '{headers}';
322
- output += `
323
- export type ${componentName}Params = {
324
- ${headerParam}
325
- };
326
-
327
- export const ${fetchName} = async (headers: ${componentName}Params) => {
328
- const result = await api.${verb}<${responseTypes}>("${route}", ${config});
329
- return result.data;
330
- }
331
- `;
332
- }
333
- if (requestBodyComponent && !paramsInPath.length && !queryParam && !headerParam) {
334
- output += `
335
-
336
- export type ${componentName}Params = ${requestBodyComponent}
337
-
338
- export const ${fetchName} = async (body: ${componentName}Params) => {
339
- const result = await api.${verb}<${responseTypes}>("${route}", body, {headers: ${defaultHeaders}})
340
- return result.data
341
- }
342
- `;
343
- }
344
- if (requestBodyComponent && !paramsInPath.length && queryParam && !headerParam) {
345
- output += `
346
- export type ${componentName}Params = ${body} & {
347
- ${queryParamsType}
348
- }
349
-
350
- export const ${fetchName} = async (${bodyProps}: ${componentName}Params) => {
351
- ${generateBodyProps()}
352
- const params = {${generateProps(queryParams)}}
353
- const result = await api.${verb}<${responseTypes}>("${route}", body, {params, headers: ${defaultHeaders}})
354
- return result.data
355
- }
356
- `;
357
- }
358
- if (requestBodyComponent && !paramsInPath.length && !queryParam && headerParam) {
359
- output += `
360
- export type ${componentName}Params = ${body} & {
361
- ${headerParam}
362
- };
363
-
364
- export const ${fetchName} = async (${bodyProps}: ${componentName}Params) => {
365
- ${generateBodyProps()}
366
- const headers = null
367
- const result = await api.${verb}<${responseTypes}>("${route}", body, {headers})
368
- return result.data
369
- }
370
- `;
371
- }
372
- if (requestBodyComponent && !paramsInPath.length && queryParam && headerParam) {
373
- output += `
374
- export type ${componentName}Params = ${body} & {
375
- ${headerParam}
376
- ${queryParamsType}
377
- };
378
- export const ${fetchName} = async (${bodyProps}: ${componentName}Params) => {
379
- ${generateBodyProps()}
380
- const headers = null
381
- const params = {${generateProps(queryParams)}}
382
- const result = await api.${verb}<${responseTypes}>("${route}", body, {headers, params})
383
- return result.data
384
- }
385
- `;
386
- }
387
- if (requestBodyComponent && paramsInPath.length && !queryParam && !headerParam) {
388
- output += `
389
- export type ${componentName}Params = ${body} & {
390
- ${headerParam}
391
- ${paramsTypes}
392
- };
393
-
394
- export const ${fetchName} = async (${bodyProps}: ${componentName}Params) => {
395
- ${generateBodyProps()}
396
- const result = await api.${verb}<${responseTypes}>(\`${route.replace(/\{/g, '{props.')}\`, body, {headers: ${defaultHeaders}})
397
- return result.data
398
- }
399
- `;
400
- }
401
- if (requestBodyComponent && paramsInPath.length && queryParam && !headerParam) {
402
- output += `
403
- export type ${componentName}Params = ${body} & {
404
- ${headerParam}
405
- ${paramsTypes}
406
- ${queryParamsType}
407
- };
408
-
409
- export const ${fetchName} = async (${bodyProps}: ${componentName}Params) => {
410
- ${generateBodyProps()}
411
- const params = {${generateProps(queryParams)}}
412
- const result = await api.${verb}<${responseTypes}>(\`${route.replace(/\{/g, '{props.')}\`, body, {params, headers: ${defaultHeaders}})
413
- return result.data
414
- }
415
- `;
416
- }
417
- if (requestBodyComponent && paramsInPath.length && queryParam && headerParam) {
418
- output += `// TODO: NOT SUPPORTED requestBodyComponent && paramsInPath && queryParam && headerParam)`;
419
- }
420
- if (!requestBodyComponent && paramsInPath.length && !queryParam && headerParam) {
421
- const config = isUpdateRequest ? 'null,{headers}' : '{headers}';
422
- output += `
423
- export type ${componentName}Params = {
424
- ${headerParam}
425
- ${paramsTypes}
426
- };
427
-
428
- export const ${fetchName} = async (props: ${componentName}Params) => {
429
- const headers = {${generateProps(header)}}
430
- const result = await api.${verb}<${responseTypes}>(\`${route.replace(/\{/g, '{props.')}\`, ${config})
431
- return result.data
432
- }
433
- `;
434
- }
435
- if (!requestBodyComponent && paramsInPath.length && queryParam && headerParam) {
436
- output += `// TODO: NOT SUPPORTED (paramsInPath && queryParam && headerParam)`;
437
- }
438
- if (requestBodyComponent && paramsInPath.length && !queryParam && headerParam) {
439
- output += `// TODO: NOT SUPPORTED (requestBodyComponent && paramsInPath && headerParam)`;
440
- }
441
- output += createQueryHooks(!requestBodyComponent && !paramsInPath.length && !queryParam && !headerParam);
442
- return { implementation: output, imports, queryImports };
443
- };
444
- //# sourceMappingURL=generateHooks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateHooks.js","sourceRoot":"","sources":["../src/generateHooks.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;AAShC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1F,OAAO,OAAO,MAAM,MAAM,CAAC;AAE3B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;AAElC,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;AAEtD;;GAEG;AACH,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE;IACvC,IAAI,CAAC,CAAC;IACN,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,MAAM,iBAAiB,GAAG,WAAW,CAAC;IACtC,OAAO,CAAC,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,IAAI,OAAO,GAAa,EAAE,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,SAAS,EACT,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,aAAa,GASd,EAAE,EAAE;IACH,MAAM,EAAE,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC;IAC3D,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAC/D,CAAC;IACD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE/B,OAAO,GAAG,EAAE,CAAC;IAEb,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,8BAA8B;IAErF,kEAAkE;IAClE,IAAI,mBAAmB,GAAkB,IAAI,CAAC;IAE9C,MAAM,aAAa,GAAG,MAAM,CAAC,WAAY,CAAC,CAAC;IAE3C,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAA6C,EAAE,EAAE,CACxE,UAAU,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAExC,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,SAAS,CAAC;IACpG,MAAM,gBAAgB,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE1G,IAAI,YAAY,GAAG,EAAmD,CAAC;IAEvE,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,MAAM,CAChD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,KAAK,mBAAmB,CAAC,CACjE,CAAC;IAEF,MAAM,EACJ,KAAK,EAAE,WAAW,GAAG,EAAE,EACvB,IAAI,EAAE,UAAU,GAAG,EAAE,EACrB,MAAM,GAAG,EAAE,GACZ,GAAG,OAAO,CACT,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAkB,CAAC,CAAC,EAAE,EAAE;QAClF,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YACnB,OAAO,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACvF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC,CAAC,EACF,IAAI,CACL,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,MAAM,cAAc,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,UAAU,EAAE,GAAG,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClG,4DAA4D;IAC5D,IAAI,YAAY,GAAqB,IAAI,CAAC;IAC1C,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;QAC1B,YAAY,GAAG,yBAAyB,CAAC;QACzC,YAAY,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,SAAS,CAAC,WAAW,IAAI,SAAS,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAChE,0EAA0E;QAC1E,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;YAChG,IACE,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC;gBAC1C,WAAW,CAAC,UAAU,CAAC,qBAAqB,CAAC;gBAC7C,WAAW,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAClD,CAAC;gBACD,aAAa;gBACb,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAO,CAAC;gBAElE,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;oBACzB,aAAa;oBACb,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,IAAI,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC1B,YAAY,GAAG,yBAAyB,CAAC;gBACzC,YAAY,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,YAAY,IAAI,GAAG,CAAC;gBACpB,YAAY,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,YAAY;SAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAE,CAAC;YACzE,OAAO,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,MAAO,CAAC,EAAE,CAAC;QACnE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,kCAAkC,WAAW,GAAG,CAAC,CAAC;QACxF,CAAC;IACH,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,eAAe,GAAG,WAAW;SAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC;QAC7E,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC;QACxC,aAAa,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,MAAO,CAAC,EAAE,CAAC;IACxE,CAAC,CAAC;SACD,IAAI,CAAC,OAAO,CAAC,CAAC;IAEjB,MAAM,UAAU,GAAG,YAAY;SAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAE,CAAC;YAChF,OAAO,IAAI,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,MAAO,CAAC,EAAE,CAAC;QACrE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,kCAAkC,WAAW,GAAG,CAAC,CAAC;QACxF,CAAC;IACH,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,iDAAiD;IACjD,MAAM,6BAA6B,GACjC,SAAS,CAAC,UAAU,IAAI,mBAAmB;QACzC,CAAC,CAAE,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/B,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC;QACxC,CAAC,CAAiC,CAAC,4BAA4B;QACjE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;IAErC,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,mBAAmB,mBAAmB,kCAAkC,WAAW,GAAG,CAAC,CAAC;IAC1G,CAAC;IAED,MAAM,kBAAkB,GAAG,SAAS,IAAI,kBAAkB,WAAW,UAAU,KAAK,EAAE,CAAC;IAEvF,MAAM,WAAW,GAAG,iBAAiB,CACnC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,WAAW;QACxC,CAAC,CAAC,GAAG,kBAAkB,OAAO,SAAS,CAAC,OAAO,OAAO,SAAS,CAAC,WAAW,EAAE;QAC7E,CAAC,CAAC,GAAG,kBAAkB,EAAE,CAC5B,CAAC;IAEF,IAAI,MAAM,GAAG,OAAO,WAAW,EAAE,CAAC;IAElC,MAAM,WAAW,GAAG,UAAU,IAAI,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,MAAM,UAAU,GAAG,eAAe,IAAI,eAAe,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,MAAM,oBAAoB,GAAG,gBAAgB,IAAI,gBAAgB,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1G,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEhE,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;IAEvC,MAAM,oBAAoB,GAAG,oBAAoB,IAAI,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzF,MAAM,IAAI,GAAG,oBAAoB,CAAC,CAAC,CAAC,UAAU,oBAAoB,GAAG,CAAC,CAAC,CAAC,GAAG,oBAAoB,EAAE,CAAC;IAClG,MAAM,SAAS,GAAG,oBAAoB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;IAEtE,2CAA2C;IAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CACtE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,oBAAoB,CAC9C,CAAC;IAEF,IAAI,aAAa,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,iBAAiB,EAAE,OAAO,EAAE,CAAC,aAAa,CAAiB,CAAC;QAC3E,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAA0B,CAAC,CAAC;QAC1E,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzF,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC7B,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC1B,YAAY,GAAG,yBAAyB,CAAC;gBACzC,YAAY,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,YAAY,IAAI,GAAG,CAAC;gBACpB,YAAY,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,SAAS,CAAC,WAAW,IAAI,SAAS,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAChE,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,KAAK,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACnE,IACE,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC;gBAC1C,WAAW,CAAC,UAAU,CAAC,qBAAqB,CAAC;gBAC7C,WAAW,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAClD,CAAC;gBACD,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAO,CAAC;gBAElE,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;oBAC3B,aAAa;oBACb,kBAAkB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,YAAY,IAAI,GAAG,CAAC;IACtB,CAAC;IAED,MAAM,gBAAgB,GAAG,CAAC,WAAqB,EAAE,EAAE;QACjD,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QACxC,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,aAAa,SAAS,CAAC;QAC5E,MAAM,QAAQ,GAAG,WAAW;YAC1B,CAAC,CAAC,KAAK,aAAa,CAAC,WAAW,EAAE,IAAI;YACtC,CAAC,CAAC,KAAK,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC;QACjD,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChD,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,cAAc,EAAE,CAAC;QAClE,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC;yBACL,aAAa,gBAAgB,QAAQ;wBACtC,YAAY;;;oBAGhB,QAAQ;oCACQ,SAAS,IAAI,GAAG;;MAE9C,CAAC;QAEH,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,KAAwB,EAAE,EAAE;QACjD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,cAAc,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClF,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,IAAI,aAAa,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,iBAAiB,EAAE,OAAO,EAAE,CAAC,aAAa,CAAiB,CAAC;YAC3E,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAA0B,CAAC,CAAC;YACvE,IACE,SAAS,CAAC,WAAW;gBACrB,SAAS,IAAI,SAAS,CAAC,WAAW;gBAClC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,qBAAqB,EACvE,CAAC;gBACD,IAAI,QAAQ,GAAG,6BAA6B,CAAC;gBAC7C,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC/B,IAAI,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBACpC,QAAQ,IAAI,kBAAkB,IAAI,cAAc,IAAI,MAAM,CAAC;oBAC7D,CAAC;yBAAM,CAAC;wBACN,QAAQ,IAAI,iBAAiB,IAAI,iCAAiC,IAAI,cAAc,IAAI,SAAS,CAAC;oBACpG,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,MAAM,kBAAkB,GAAG,eAAe;iBACvC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,IAAI,cAAc,IAAI,IAAI,CAAC;iBACtD,IAAI,CAAC,GAAG,CAAC,CAAC;YACb,OAAO,iBAAiB,kBAAkB,GAAG,CAAC;QAChD,CAAC;QAED,IAAI,SAAS,CAAC,WAAW,IAAI,SAAS,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YAChE,IAAI,kBAAkB,GAAG,EAAE,CAAC;YAC5B,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAChE,IAAI,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACjD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAEvB,QAAQ,IAAI,6BAA6B,CAAC;gBAE1C,KAAK,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;oBACrC,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAO,CAAC;oBAClE,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;wBAC3B,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;wBAC9D,KAAK,IAAI,IAAI,IAAI,gBAAgB,EAAE,CAAC;4BAClC,IAAI,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gCACpC,QAAQ,IAAI,kBAAkB,IAAI,cAAc,IAAI,iBAAiB,CAAC;4BACxE,CAAC;iCAAM,CAAC;gCACN,QAAQ,IAAI,iBAAiB,IAAI,iCAAiC,IAAI,cAAc,IAAI,oBAAoB,CAAC;4BAC/G,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,KAAK,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;gBACrC,IACE,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC;oBAC1C,WAAW,CAAC,UAAU,CAAC,qBAAqB,CAAC;oBAC7C,WAAW,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAClD,CAAC;oBACD,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAO,CAAC;oBAElE,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;wBAC3B,aAAa;wBACb,kBAAkB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,iBAAiB,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,YAAY,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QACrG,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,iBAAiB,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC;QACpC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,kBAAkB;KACtE,CAAC,CAAC;IAEH,IAAI,CAAC,oBAAoB,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QACjF,MAAM,IAAI;mBACK,SAAS;iCACK,IAAI,IAAI,aAAa,MAAM,KAAK;;;KAG5D,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,oBAAoB,IAAI,YAAY,CAAC,MAAM,IAAI,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/E,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,UAAU,CAAC;QACnE,MAAM,IAAI;kBACI,aAAa;QACvB,WAAW;QACX,eAAe;;;oBAGH,SAAS,mBAAmB,aAAa;eAC9C,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;iCACL,IAAI,IAAI,aAAa,OAAO,KAAK,OAAO,MAAM;;MAEzE,CAAC;IACL,CAAC;IACD,IAAI,CAAC,oBAAoB,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QAChF,MAAM,IAAI;kBACI,aAAa;QACvB,WAAW;;;mBAGA,SAAS,oBAAoB,aAAa;iCAC5B,IAAI,IAAI,aAAa,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;;;KAGvF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,oBAAoB,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QAChF,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC;QAC9D,MAAM,IAAI;kBACI,aAAa;QACvB,eAAe;;;mBAGJ,SAAS,qBAAqB,aAAa;iCAC7B,IAAI,IAAI,aAAa,MAAM,KAAK,MAAM,MAAM;;;KAGxE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,oBAAoB,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;QAC/E,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,gCAAgC,CAAC;QAC1G,MAAM,IAAI;oBACM,aAAa;UACvB,WAAW;UACX,eAAe;;qBAEJ,SAAS,oBAAoB,aAAa;2BACpC,aAAa,CAAC,MAAM,CAAC;+BACjB,aAAa,CAAC,WAAW,CAAC;mCACtB,IAAI,IAAI,aAAa,MAAM,KAAK,MAAM,MAAM;;QAEvE,CAAC;IACP,CAAC;IACD,IAAI,CAAC,oBAAoB,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,UAAU,IAAI,WAAW,EAAE,CAAC;QAChF,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC;QAChE,MAAM,IAAI;oBACM,aAAa;UACvB,WAAW;;;qBAGA,SAAS,sBAAsB,aAAa;mCAC9B,IAAI,IAAI,aAAa,MAAM,KAAK,MAAM,MAAM;;;OAGxE,CAAC;IACN,CAAC;IACD,IAAI,oBAAoB,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QAChF,MAAM,IAAI;;kBAEI,aAAa,YAAY,oBAAoB;;mBAE5C,SAAS,mBAAmB,aAAa;iCAC3B,IAAI,IAAI,aAAa,MAAM,KAAK,sBAAsB,cAAc;;;OAG9F,CAAC;IACN,CAAC;IACD,IAAI,oBAAoB,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/E,MAAM,IAAI;oBACM,aAAa,aAAa,IAAI;UACxC,eAAe;;;oBAGL,SAAS,aAAa,SAAS,KAAK,aAAa;QAC7D,iBAAiB,EAAE;yBACF,aAAa,CAAC,WAAW,CAAC;iCAClB,IAAI,IAAI,aAAa,MAAM,KAAK,8BAA8B,cAAc;;;KAGxG,CAAC;IACJ,CAAC;IACD,IAAI,oBAAoB,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,UAAU,IAAI,WAAW,EAAE,CAAC;QAC/E,MAAM,IAAI;kBACI,aAAa,aAAa,IAAI;QACxC,WAAW;;;mBAGA,SAAS,aAAa,SAAS,KAAK,aAAa;QAC5D,iBAAiB,EAAE;;iCAEM,IAAI,IAAI,aAAa,MAAM,KAAK;;;KAG5D,CAAC;IACJ,CAAC;IACD,IAAI,oBAAoB,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;QAC9E,MAAM,IAAI;kBACI,aAAa,YAAY,IAAI;QACvC,WAAW;QACX,eAAe;;mBAEJ,SAAS,aAAa,SAAS,KAAK,aAAa;QAC5D,iBAAiB,EAAE;;yBAEF,aAAa,CAAC,WAAW,CAAC;iCAClB,IAAI,IAAI,aAAa,MAAM,KAAK;;;KAG5D,CAAC;IACJ,CAAC;IACD,IAAI,oBAAoB,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/E,MAAM,IAAI;kBACI,aAAa,YAAY,IAAI;QACvC,WAAW;QACX,WAAW;;;mBAGA,SAAS,aAAa,SAAS,KAAK,aAAa;QAC5D,iBAAiB,EAAE;iCACM,IAAI,IAAI,aAAa,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,uBAAuB,cAAc;;;KAG5H,CAAC;IACJ,CAAC;IAED,IAAI,oBAAoB,IAAI,YAAY,CAAC,MAAM,IAAI,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9E,MAAM,IAAI;kBACI,aAAa,YAAY,IAAI;QACvC,WAAW;QACX,WAAW;QACX,eAAe;;;mBAGJ,SAAS,aAAa,SAAS,KAAK,aAAa;QAC5D,iBAAiB,EAAE;yBACF,aAAa,CAAC,WAAW,CAAC;iCAClB,IAAI,IAAI,aAAa,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,+BAA+B,cAAc;;;KAGpI,CAAC;IACJ,CAAC;IAED,IAAI,oBAAoB,IAAI,YAAY,CAAC,MAAM,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;QAC7E,MAAM,IAAI,2FAA2F,CAAC;IACxG,CAAC;IAED,IAAI,CAAC,oBAAoB,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,UAAU,IAAI,WAAW,EAAE,CAAC;QAC/E,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC;QAChE,MAAM,IAAI;kBACI,aAAa;QACvB,WAAW;QACX,WAAW;;;mBAGA,SAAS,oBAAoB,aAAa;yBACpC,aAAa,CAAC,MAAM,CAAC;iCACb,IAAI,IAAI,aAAa,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,MAAM;;;KAGpG,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,oBAAoB,IAAI,YAAY,CAAC,MAAM,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;QAC9E,MAAM,IAAI,oEAAoE,CAAC;IACjF,CAAC;IAED,IAAI,oBAAoB,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,UAAU,IAAI,WAAW,EAAE,CAAC;QAC9E,MAAM,IAAI,8EAA8E,CAAC;IAC3F,CAAC;IAED,MAAM,IAAI,gBAAgB,CAAC,CAAC,oBAAoB,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,CAAC,CAAC;IAEzG,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AAC3D,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- export declare const generateImports: ({ schemaName, apiDirectory, schemaImports, queryImports, }: {
2
- apiDirectory: string;
3
- schemaName: string;
4
- schemaImports: string[];
5
- queryImports: ('query' | 'mutation' | 'infiniteQuery')[];
6
- }) => string;
@@ -1,21 +0,0 @@
1
- export const generateImports = ({ schemaName, apiDirectory, schemaImports, queryImports, }) => {
2
- const importTypes = schemaImports.join(',');
3
- let imports = [];
4
- if (queryImports.includes('query')) {
5
- imports = [...imports, 'skipToken', 'queryOptions'];
6
- }
7
- if (queryImports.includes('infiniteQuery')) {
8
- imports = [...imports, 'infiniteQueryOptions'];
9
- }
10
- const importString = [...new Set(imports)].join(',');
11
- return `
12
- import {
13
- ${importString}
14
- } from '@tanstack/react-query';
15
-
16
- import { api } from '${apiDirectory}';
17
- import {${importTypes}} from './${schemaName}'
18
-
19
- `;
20
- };
21
- //# sourceMappingURL=generateImports.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateImports.js","sourceRoot":"","sources":["../src/generateImports.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,UAAU,EACV,YAAY,EACZ,aAAa,EACb,YAAY,GAMb,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,OAAO,GAAG,EAAc,CAAC;IAC7B,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3C,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,sBAAsB,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAErD,OAAO;;MAEH,YAAY;;;yBAGO,YAAY;YACzB,WAAW,aAAa,UAAU;;GAE3C,CAAC;AACJ,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { OpenAPIObject } from 'openapi3-ts';
2
- /**
3
- * Extract all types from #/components/schemas
4
- */
5
- export declare const generateSchemas: ({ spec }: {
6
- spec: OpenAPIObject;
7
- }) => string;
@@ -1,100 +0,0 @@
1
- import pasCase from 'case';
2
- import lodash from 'lodash';
3
- const { isEmpty } = lodash;
4
- const { pascal } = pasCase;
5
- import { formatDescription, getScalar, isReference, resolveValue } from './utils.js';
6
- import { getDocs, getResReqTypes } from './utils.js';
7
- /**
8
- * Generate the interface string
9
- */
10
- const generateInterface = (name, schema) => {
11
- const scalar = getScalar(schema);
12
- return `${formatDescription(schema.description)}
13
- export type ${pascal(name)} = ${scalar}
14
- `;
15
- };
16
- /**
17
- * Extract all types from #/components/schemas
18
- */
19
- const generateSchemasDefinition = (schemas = {}) => {
20
- if (isEmpty(schemas)) {
21
- return '';
22
- }
23
- return ('\n // SCEHMAS \n' +
24
- Object.entries(schemas)
25
- .map(([name, schema]) => !isReference(schema) &&
26
- (!schema.type || schema.type === 'object') &&
27
- !schema.allOf &&
28
- !schema.oneOf &&
29
- !isReference(schema) &&
30
- !schema.nullable
31
- ? generateInterface(name, schema)
32
- : `${formatDescription(isReference(schema) ? undefined : schema.description)} export type ${pascal(name)} = ${resolveValue(schema)};`)
33
- .join('\n\n') +
34
- '\n');
35
- };
36
- /**
37
- * Extract all types from #/components/requestBodies
38
- */
39
- const generateRequestBodiesDefinition = (requestBodies = {}) => {
40
- if (isEmpty(requestBodies)) {
41
- return '';
42
- }
43
- return ('\n // REQUEST BODIES \n' +
44
- Object.entries(requestBodies)
45
- .map(([name, requestBody]) => {
46
- const doc = getDocs(requestBody);
47
- const type = getResReqTypes([['', requestBody]]);
48
- const isEmptyInterface = type === '{}';
49
- if (isEmptyInterface) {
50
- return `${doc}\nexport type ${pascal(name)}RequestBody = ${type}`;
51
- }
52
- else if (type.includes('{') && !type.includes('|') && !type.includes('&')) {
53
- return `${doc}\nexport type ${pascal(name)}RequestBody = ${type}`;
54
- }
55
- else {
56
- return `${doc}\nexport type ${pascal(name)}RequestBody = ${type};`;
57
- }
58
- })
59
- .join('\n\n') +
60
- '\n');
61
- };
62
- /**
63
- * Extract all types from #/components/responses
64
- */
65
- const generateResponsesDefinition = (responses = {}) => {
66
- if (isEmpty(responses)) {
67
- return '';
68
- }
69
- return ('\n // RESPONSES \n' +
70
- Object.entries(responses)
71
- .map(([name, response]) => {
72
- const doc = getDocs(response);
73
- const type = getResReqTypes([['', response]]);
74
- const isEmptyInterface = type === '{}';
75
- if (!type) {
76
- return;
77
- }
78
- if (isEmptyInterface) {
79
- return `export type RQ${pascal(name)}Response = ${type}`;
80
- }
81
- else if (type.includes('{') && !type.includes('|') && !type.includes('&')) {
82
- return `${doc}\nexport type RQ${pascal(name)}Response = ${type}`;
83
- }
84
- else {
85
- return `${doc}\nexport type RQ${pascal(name)}Response = ${type};`;
86
- }
87
- })
88
- .join('\n\n') +
89
- '\n');
90
- };
91
- /**
92
- * Extract all types from #/components/schemas
93
- */
94
- export const generateSchemas = ({ spec }) => {
95
- const schemaOutput = generateRequestBodiesDefinition(spec.components?.requestBodies) +
96
- generateResponsesDefinition(spec.components?.responses) +
97
- generateSchemasDefinition(spec.components?.schemas);
98
- return schemaOutput;
99
- };
100
- //# sourceMappingURL=generateSchemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateSchemas.js","sourceRoot":"","sources":["../src/generateSchemas.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- export declare function importSpecs({ sourceUrls, sourceDirectory, exportDirectory, apiDirectory, headerFilters, }: {
2
- sourceUrls?: {
3
- name: string;
4
- url: string;
5
- }[];
6
- sourceDirectory?: string;
7
- exportDirectory: string;
8
- apiDirectory: string;
9
- headerFilters?: string[];
10
- }): void;