react-query-lightbase-codegen 1.4.1 → 1.5.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.
@@ -47,26 +47,18 @@ export const createHook = ({ operation, verb, route, operationIds, parameters, s
47
47
  }
48
48
  }), 'in');
49
49
  const headerParams = header.filter((p) => !headerFilters?.includes(p.name));
50
- let enabled = [];
50
+ const requiredParams = [...queryParams, ...pathParams, ...headerParams].filter((p) => p.required);
51
51
  // TODO: extract all requestBody or remove useQuery variants
52
- let enabledParam = '!!params';
53
- [...queryParams, ...pathParams, ...headerParams].forEach((item) => {
54
- if (item.required) {
55
- enabled.push(`["${item.name}"]`);
56
- if (enabledParam && enabledParam !== '!!params') {
57
- enabledParam += `&& params['${item.name}'] != null`;
58
- }
59
- else {
60
- enabledParam = `params['${item.name}'] != null`;
61
- }
62
- }
63
- });
64
- // `!props${enabled.join('== null && !props')}`;
52
+ let enabledParam = true;
53
+ if (requiredParams.length) {
54
+ enabledParam = 'hasDefinedProps(params,';
55
+ enabledParam += requiredParams.map((p) => `"${p.name}"`).join(', ');
56
+ }
65
57
  const paramsTypes = paramsInPath
66
58
  .map((p) => {
67
59
  try {
68
60
  const { name, required, schema } = pathParams.find((i) => i.name === p);
69
- return `${name}${required ? '' : '?'}: ${resolveValue(schema)}`;
61
+ return `${name}${required ? '' : '?'}: ${resolveValue(schema)} ${required ? '| undefined' : ''}`;
70
62
  }
71
63
  catch (err) {
72
64
  throw new Error(`The path params ${p} can't be found in parameters (${operationId})`);
@@ -77,14 +69,14 @@ export const createHook = ({ operation, verb, route, operationIds, parameters, s
77
69
  .map((p) => {
78
70
  const processedName = IdentifierRegexp.test(p.name) ? p.name : `"${p.name}"`;
79
71
  return `${formatDescription(p.description)}
80
- ${processedName}${p.required ? '' : '?'}: ${resolveValue(p.schema)}`;
72
+ ${processedName}${p.required ? '' : '?'}: ${resolveValue(p.schema)} ${p.required ? '| undefined' : ''}`;
81
73
  })
82
74
  .join(';\n ');
83
75
  const headerType = headerParams
84
76
  .map((p) => {
85
77
  try {
86
78
  const { name, required, schema } = headerParams.find((i) => i.name === p.name);
87
- return `"${name}"${required ? '' : '?'}: ${resolveValue(schema)}`;
79
+ return `"${name}"${required ? '' : '?'}: ${resolveValue(schema)} ${required ? '| undefined' : ''}`;
88
80
  }
89
81
  catch (err) {
90
82
  throw new Error(`The path params ${p} can't be found in parameters (${operationId})`);
@@ -116,9 +108,54 @@ export const createHook = ({ operation, verb, route, operationIds, parameters, s
116
108
  }
117
109
  const isUpdateRequest = ['post', 'patch', 'put'].includes(verb);
118
110
  const fetchName = camel(componentName);
111
+ const hasRequestBodyArrray = requestBodyComponent && requestBodyComponent.includes('[]');
112
+ const body = hasRequestBodyArrray ? `{body: ${requestBodyComponent}}` : `${requestBodyComponent}`;
113
+ const bodyProps = hasRequestBodyArrray ? `{body, ...props}` : 'props';
114
+ // const generateEnabledBodyProps = () => {
115
+ const definitionKey = Object.keys(schemasComponents?.schemas || {}).find((key) => pascal(key) === requestBodyComponent);
116
+ if (definitionKey && !hasRequestBodyArrray) {
117
+ const scheme = schemasComponents?.schemas?.[definitionKey];
118
+ const generatedBodyProps = Object.keys(scheme.properties);
119
+ const requiredBodyProps = generatedBodyProps.filter((p) => scheme.required?.includes(p));
120
+ if (requiredBodyProps.length) {
121
+ if (enabledParam === true) {
122
+ enabledParam = 'hasDefinedProps(params,';
123
+ enabledParam += requiredBodyProps.map((p) => `"${p}"`).join(', ');
124
+ }
125
+ else {
126
+ enabledParam += ',';
127
+ enabledParam += requiredBodyProps.map((p) => `"${p}"`).join(', ');
128
+ }
129
+ }
130
+ }
131
+ if (operation.requestBody && 'content' in operation.requestBody) {
132
+ let generatedBodyProps = [];
133
+ for (let contentType of Object.keys(operation.requestBody.content)) {
134
+ if (contentType.startsWith('application/json') || contentType.startsWith('application/octet-stream')) {
135
+ const schema = operation.requestBody.content[contentType].schema;
136
+ if ('properties' in schema) {
137
+ // @ts-ignore
138
+ generatedBodyProps.push(...Object.keys(schema.properties));
139
+ }
140
+ }
141
+ }
142
+ if (generatedBodyProps.length > 0) {
143
+ generatedBodyProps.forEach((item) => {
144
+ if (enabledParam && enabledParam !== 'hasDefinedProps(params,') {
145
+ console.log('SKIPPING', item);
146
+ }
147
+ else {
148
+ console.log('SKIPPING2', item);
149
+ }
150
+ });
151
+ }
152
+ }
153
+ if (enabledParam !== true) {
154
+ enabledParam += ')';
155
+ }
119
156
  const createQueryHooks = (emptyParams) => {
120
157
  const key = emptyParams ? '' : `params`;
121
- const queryParamType = emptyParams ? '' : `${componentName}Params`;
158
+ const queryParamType = emptyParams ? '' : `Partial<${componentName}Params>`;
122
159
  const queryKey = emptyParams
123
160
  ? `["${componentName.toLowerCase()}"]`
124
161
  : `["${componentName.toLowerCase()}", params]`;
@@ -126,23 +163,21 @@ export const createHook = ({ operation, verb, route, operationIds, parameters, s
126
163
  const propTest = emptyParams ? '' : `${props}: ${queryParamType}`;
127
164
  const createQuery = () => `
128
165
  export function get${componentName}QueryOptions(${propTest}) {
166
+ const enabled = ${enabledParam}
167
+
129
168
  return queryOptions({
130
169
  queryKey: ${queryKey},
131
- queryFn: () => ${fetchName}(${key}),
170
+ queryFn: enabled ? () => ${fetchName}(${key}) : skipToken,
132
171
  });
133
172
  }`;
134
173
  queryImports.push('query');
135
174
  return createQuery();
136
175
  };
137
176
  output += createQueryHooks(!requestBodyComponent && !paramsInPath.length && !queryParam && !headerParam);
138
- const hasRequestBodyArrray = requestBodyComponent && requestBodyComponent.includes('[]');
139
- const body = hasRequestBodyArrray ? `{body: ${requestBodyComponent}}` : `${requestBodyComponent}`;
140
- const bodyProps = hasRequestBodyArrray ? `{body, ...props}` : 'props';
141
177
  const generateProps = (props) => {
142
178
  return props.map((item) => `["${item.name}"]: props["${item.name}"]`).join(',');
143
179
  };
144
180
  const generateBodyProps = () => {
145
- const definitionKey = Object.keys(schemasComponents?.schemas || {}).find((key) => pascal(key) === requestBodyComponent);
146
181
  if (definitionKey && !hasRequestBodyArrray) {
147
182
  const scheme = schemasComponents?.schemas?.[definitionKey];
148
183
  const generatedBodyProps = Object.keys(scheme.properties)
@@ -164,7 +199,7 @@ export const createHook = ({ operation, verb, route, operationIds, parameters, s
164
199
  }
165
200
  return `const body = {${generatedBodyProps.map((item) => `${item}: props.${item}`).join(',')}}`;
166
201
  }
167
- return `hehe`;
202
+ return `ERROR`;
168
203
  };
169
204
  if (!requestBodyComponent && !paramsInPath.length && !queryParam && !headerParam) {
170
205
  output += `
@@ -1 +1 @@
1
- {"version":3,"file":"generateHooks.js","sourceRoot":"","sources":["../src/generateHooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateHooks.js","sourceRoot":"","sources":["../src/generateHooks.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ export const generateImports = ({ schemaName, apiDirectory, schemaImports, query
2
2
  const importTypes = schemaImports.join(',');
3
3
  let imports = [];
4
4
  if (queryImports.includes('query')) {
5
- imports = [...imports, 'queryOptions'];
5
+ imports = [...imports, 'skipToken', 'queryOptions'];
6
6
  }
7
7
  if (queryImports.includes('infiniteQuery')) {
8
8
  imports = [...imports, 'infiniteQueryOptions'];
@@ -1 +1 @@
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,cAAc,CAAC,CAAC;IACzC,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
+ {"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"}
@@ -69,7 +69,14 @@ async function make({ data, format, filename, exportDirectory, headerFilters, ap
69
69
  const name = filename.split('.')[0];
70
70
  mkdirSync(join(process.cwd(), `${exportDirectory}/${name}`), { recursive: true });
71
71
  const operationIds = [];
72
- let hooks = '';
72
+ let hooks = `
73
+ function hasDefinedProps<T extends { [P in K]?: any }, K extends PropertyKey>(
74
+ obj: T,
75
+ ...keys: K[]
76
+ ): obj is T & { [P in K]-?: Exclude<T[P], undefined> } {
77
+ return keys.every((k) => obj[k] !== undefined);
78
+ }
79
+ `;
73
80
  let schemaImportsArray = [];
74
81
  let collectedQueryImports = [];
75
82
  Object.entries(spec.paths).forEach(([route, verbs]) => {
@@ -1 +1 @@
1
- {"version":3,"file":"importSpecs.js","sourceRoot":"","sources":["../src/importSpecs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"importSpecs.js","sourceRoot":"","sources":["../src/importSpecs.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ReferenceObject, RequestBodyObject, ResponseObject, SchemaObject } from "openapi3-ts";
1
+ import type { ReferenceObject, RequestBodyObject, ResponseObject, SchemaObject } from 'openapi3-ts';
2
2
  export declare const getDocs: (data: ReferenceObject | {
3
3
  description?: string;
4
4
  }) => string;
@@ -21,7 +21,4 @@ export declare const formatDescription: (description?: string) => string;
21
21
  /**
22
22
  * Extract responses / request types from open-api specs
23
23
  */
24
- export declare const getResReqTypes: (responsesOrRequests: Array<[
25
- string,
26
- ResponseObject | ReferenceObject | RequestBodyObject
27
- ]>) => string;
24
+ export declare const getResReqTypes: (responsesOrRequests: Array<[string, ResponseObject | ReferenceObject | RequestBodyObject]>) => string;
package/dist/utils.js CHANGED
@@ -1,9 +1,9 @@
1
- import lodash from "lodash";
1
+ import lodash from 'lodash';
2
2
  const { uniq, isEmpty } = lodash;
3
- import pasCase from "case";
4
- import chalk from "chalk";
3
+ import pasCase from 'case';
4
+ import chalk from 'chalk';
5
5
  const { pascal } = pasCase;
6
- export const getDocs = (data) => isReference(data) ? "" : formatDescription(data.description);
6
+ export const getDocs = (data) => isReference(data) ? '' : formatDescription(data.description);
7
7
  /**
8
8
  * Discriminator helper for `ReferenceObject`
9
9
  */
@@ -14,18 +14,18 @@ export const isReference = (property) => {
14
14
  * Return the typescript equivalent of open-api data type
15
15
  */
16
16
  export const getScalar = (item) => {
17
- const nullable = item.nullable ? " | null" : "";
17
+ const nullable = item.nullable ? ' | null' : '';
18
18
  switch (item.type) {
19
- case "number":
20
- case "integer":
21
- return "number" + nullable;
22
- case "boolean":
23
- return "boolean" + nullable;
24
- case "array":
19
+ case 'number':
20
+ case 'integer':
21
+ return 'number' + nullable;
22
+ case 'boolean':
23
+ return 'boolean' + nullable;
24
+ case 'array':
25
25
  return getArray(item) + nullable;
26
- case "string":
27
- return (item.enum ? `"${item.enum.join(`" | "`)}"` : "string") + nullable;
28
- case "object":
26
+ case 'string':
27
+ return (item.enum ? `"${item.enum.join(`" | "`)}"` : 'string') + nullable;
28
+ case 'object':
29
29
  return getObject(item) + nullable;
30
30
  default:
31
31
  return getObject(item) + nullable;
@@ -35,20 +35,20 @@ export const getScalar = (item) => {
35
35
  * Return the output type from the $ref
36
36
  */
37
37
  const getRef = ($ref) => {
38
- if ($ref.startsWith("#/components/schemas")) {
39
- return pascal($ref.replace("#/components/schemas/", ""));
38
+ if ($ref.startsWith('#/components/schemas')) {
39
+ return pascal($ref.replace('#/components/schemas/', ''));
40
40
  }
41
- else if ($ref.startsWith("#/components/responses")) {
42
- return pascal($ref.replace("#/components/responses/", "")) + "Response";
41
+ else if ($ref.startsWith('#/components/responses')) {
42
+ return pascal($ref.replace('#/components/responses/', '')) + 'Response';
43
43
  }
44
- else if ($ref.startsWith("#/components/parameters")) {
45
- return pascal($ref.replace("#/components/parameters/", "")) + "Parameter";
44
+ else if ($ref.startsWith('#/components/parameters')) {
45
+ return pascal($ref.replace('#/components/parameters/', '')) + 'Parameter';
46
46
  }
47
- else if ($ref.startsWith("#/components/requestBodies")) {
48
- return (pascal($ref.replace("#/components/requestBodies/", "")) + "RequestBody");
47
+ else if ($ref.startsWith('#/components/requestBodies')) {
48
+ return pascal($ref.replace('#/components/requestBodies/', '')) + 'RequestBody';
49
49
  }
50
50
  else {
51
- throw new Error("This library only resolve $ref that are include into `#/components/*` for now");
51
+ throw new Error('This library only resolve $ref that are include into `#/components/*` for now');
52
52
  }
53
53
  };
54
54
  /**
@@ -56,15 +56,15 @@ const getRef = ($ref) => {
56
56
  */
57
57
  const getArray = (item) => {
58
58
  if (item.items) {
59
- if (!isReference(item.items) &&
60
- (item.items.oneOf || item.items.allOf || item.items.enum)) {
59
+ if (!isReference(item.items) && (item.items.oneOf || item.items.allOf || item.items.enum)) {
61
60
  return `(${resolveValue(item.items)})[]`;
62
61
  }
63
62
  else {
64
63
  return `${resolveValue(item.items)}[]`;
65
64
  }
66
65
  }
67
- console.log(chalk.red("Skipped: All arrays must have an `items` key define"));
66
+ console.log(chalk.red(`Skipped(${item.title}): All arrays must have an 'items' key define`));
67
+ return 'unknown[]';
68
68
  };
69
69
  /**
70
70
  * Return the output type from an object
@@ -74,50 +74,46 @@ const getObject = (item) => {
74
74
  return getRef(item.$ref);
75
75
  }
76
76
  if (item.allOf) {
77
- return item.allOf.map(resolveValue).join(" & ");
77
+ return item.allOf.map(resolveValue).join(' & ');
78
78
  }
79
79
  if (item.oneOf) {
80
- return item.oneOf.map(resolveValue).join(" | ");
80
+ return item.oneOf.map(resolveValue).join(' | ');
81
81
  }
82
82
  if (!item.type && !item.properties && !item.additionalProperties) {
83
- return "{}";
83
+ return '{}';
84
84
  }
85
85
  // Free form object (https://swagger.io/docs/specification/data-models/data-types/#free-form)
86
- if (item.type === "object" &&
86
+ if (item.type === 'object' &&
87
87
  !item.properties &&
88
- (!item.additionalProperties ||
89
- item.additionalProperties === true ||
90
- isEmpty(item.additionalProperties))) {
91
- return "{[key: string]: any}";
88
+ (!item.additionalProperties || item.additionalProperties === true || isEmpty(item.additionalProperties))) {
89
+ return '{[key: string]: any}';
92
90
  }
93
91
  const IdentifierRegexp = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/;
94
92
  // Consolidation of item.properties & item.additionalProperties
95
- let output = "{";
93
+ let output = '{';
96
94
  if (item.properties) {
97
95
  output += Object.entries(item.properties)
98
96
  .map(([key, prop]) => {
99
97
  const doc = getDocs(prop);
100
98
  const isRequired = (item.required || []).includes(key);
101
99
  const processedKey = IdentifierRegexp.test(key) ? key : `"${key}"`;
102
- return `${doc}\n${processedKey}${isRequired ? "" : "?"}: ${resolveValue(prop)};`;
100
+ return `${doc}\n${processedKey}${isRequired ? '' : '?'}: ${resolveValue(prop)}`;
103
101
  })
104
- .join("");
102
+ .join('');
105
103
  }
106
104
  if (item.additionalProperties) {
107
105
  if (item.properties) {
108
- output += "\n";
106
+ output += '\n';
109
107
  }
110
- output += `} & { [key: string]: ${item.additionalProperties === true
111
- ? "any"
112
- : resolveValue(item.additionalProperties)}`;
108
+ output += `} & { [key: string]: ${item.additionalProperties === true ? 'any' : resolveValue(item.additionalProperties)}`;
113
109
  }
114
110
  if (item.properties || item.additionalProperties) {
115
- if (output === "{\n") {
116
- return "{}";
111
+ if (output === '{\n') {
112
+ return '{}';
117
113
  }
118
- return output + "\n}";
114
+ return output + '\n}';
119
115
  }
120
- return item.type === "object" ? "{[key: string]: any}" : "any";
116
+ return item.type === 'object' ? '{[key: string]: any}' : 'any';
121
117
  };
122
118
  /**
123
119
  * Resolve the value of a schema object to a proper type definition.
@@ -128,12 +124,12 @@ export const resolveValue = (schema) => isReference(schema) ? getRef(schema.$ref
128
124
  */
129
125
  export const formatDescription = (description) => {
130
126
  if (!description) {
131
- return "";
127
+ return '';
132
128
  }
133
129
  return `\n/**\n${description
134
- .split("\n")
130
+ .split('\n')
135
131
  .map((i) => `* ${i}`)
136
- .join("\n")}\n */`;
132
+ .join('\n')}\n */`;
137
133
  };
138
134
  /**
139
135
  * Extract responses / request types from open-api specs
@@ -148,8 +144,8 @@ export const getResReqTypes = (responsesOrRequests) => {
148
144
  }
149
145
  if (res.content) {
150
146
  for (const contentType of Object.keys(res.content)) {
151
- if (contentType.startsWith("application/json") ||
152
- contentType.startsWith("application/octet-stream")) {
147
+ if (contentType.startsWith('application/json') ||
148
+ contentType.startsWith('application/octet-stream')) {
153
149
  const schema = res.content[contentType].schema;
154
150
  return resolveValue(schema);
155
151
  }
@@ -157,6 +153,6 @@ export const getResReqTypes = (responsesOrRequests) => {
157
153
  return;
158
154
  }
159
155
  return;
160
- })).join(" | ");
156
+ })).join(' | ');
161
157
  };
162
158
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;AACjC,OAAO,OAAO,MAAM,MAAM,CAAC;AAC3B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;AAS3B,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAgD,EAAE,EAAE,CAC3E,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC9D;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAa,EAA+B,EAAE;IACzE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAkB,EAAE,EAAE;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACb,OAAO,QAAQ,GAAG,QAAQ,CAAC;QAE5B,KAAK,SAAS;YACb,OAAO,SAAS,GAAG,QAAQ,CAAC;QAE7B,KAAK,OAAO;YACX,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QAElC,KAAK,QAAQ;YACZ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;QAE3E,KAAK,QAAQ;YACZ,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QAEnC;YACC,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IACpC,CAAC;AACF,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,GAAG,CAAC,IAA6B,EAAE,EAAE;IAChD,IAAI,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC;QACtD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC;IACzE,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,EAAE,CAAC;QACvD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC;IAC3E,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE,CAAC;QAC1D,OAAO,CACN,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC,GAAG,aAAa,CACvE,CAAC;IACH,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACd,+EAA+E,CAC/E,CAAC;IACH,CAAC;AACF,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,QAAQ,GAAG,CAAC,IAAkB,EAAsB,EAAE;IAC3D,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,IACC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;YACxB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EACxD,CAAC;YACF,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1C,CAAC;aAAM,CAAC;YACP,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACxC,CAAC;IACF,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,SAAS,GAAG,CAAC,IAAkB,EAAU,EAAE;IAChD,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClE,OAAO,IAAI,CAAC;IACb,CAAC;IAED,6FAA6F;IAC7F,IACC,IAAI,CAAC,IAAI,KAAK,QAAQ;QACtB,CAAC,IAAI,CAAC,UAAU;QAChB,CAAC,CAAC,IAAI,CAAC,oBAAoB;YAC1B,IAAI,CAAC,oBAAoB,KAAK,IAAI;YAClC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,EACnC,CAAC;QACF,OAAO,sBAAsB,CAAC;IAC/B,CAAC;IAED,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;IACtD,+DAA+D;IAC/D,IAAI,MAAM,GAAG,GAAG,CAAC;IACjB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;aACvC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAA2C,EAAE,EAAE;YAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACvD,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;YACnE,OAAO,GAAG,GAAG,KAAK,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CACtE,IAAI,CACJ,GAAG,CAAC;QACN,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,CAAC;IAED,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,wBACT,IAAI,CAAC,oBAAoB,KAAK,IAAI;YACjC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAC1C,EAAE,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,MAAM,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC;AAChE,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAoB,EAAE,EAAE,CACpD,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,WAAoB,EAAE,EAAE;IACzD,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO,UAAU,WAAW;SAC1B,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;SACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AACrB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC7B,mBAEC,EACA,EAAE;IACH,OAAO,IAAI,CACV,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE;QACpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACR,CAAC;QAED,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpD,IACC,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC;oBAC1C,WAAW,CAAC,UAAU,CAAC,0BAA0B,CAAC,EACjD,CAAC;oBACF,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAO,CAAC;oBAEhD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC7B,CAAC;YACF,CAAC;YACD,OAAO;QACR,CAAC;QAED,OAAO;IACR,CAAC,CAAC,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACf,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;AACjC,OAAO,OAAO,MAAM,MAAM,CAAC;AAC3B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;AAI3B,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAgD,EAAE,EAAE,CAC1E,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAa,EAA+B,EAAE;IACxE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAkB,EAAE,EAAE;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,QAAQ,GAAG,QAAQ,CAAC;QAE7B,KAAK,SAAS;YACZ,OAAO,SAAS,GAAG,QAAQ,CAAC;QAE9B,KAAK,OAAO;YACV,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QAEnC,KAAK,QAAQ;YACX,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;QAE5E,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QAEpC;YACE,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IACtC,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,GAAG,CAAC,IAA6B,EAAE,EAAE;IAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC;QACrD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC;IAC1E,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,EAAE,CAAC;QACtD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC;IAC5E,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE,CAAC;QACzD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IACnG,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,QAAQ,GAAG,CAAC,IAAkB,EAAsB,EAAE;IAC1D,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1F,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,KAAK,+CAA+C,CAAC,CAAC,CAAC;IAC7F,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,SAAS,GAAG,CAAC,IAAkB,EAAU,EAAE;IAC/C,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6FAA6F;IAC7F,IACE,IAAI,CAAC,IAAI,KAAK,QAAQ;QACtB,CAAC,IAAI,CAAC,UAAU;QAChB,CAAC,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,EACxG,CAAC;QACD,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;IACtD,+DAA+D;IAC/D,IAAI,MAAM,GAAG,GAAG,CAAC;IACjB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;aACtC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAA2C,EAAE,EAAE;YAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACvD,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;YACnE,OAAO,GAAG,GAAG,KAAK,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAClF,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAED,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,IAAI,CAAC;QACjB,CAAC;QACD,MAAM,IAAI,wBACR,IAAI,CAAC,oBAAoB,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,CACrF,EAAE,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACjD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC;AACjE,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAoB,EAAE,EAAE,CACnD,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,WAAoB,EAAE,EAAE;IACxD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,UAAU,WAAW;SACzB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;SACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AACvB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,mBAA0F,EAC1F,EAAE;IACF,OAAO,IAAI,CACT,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE;QACnC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QAED,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,IACE,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC;oBAC1C,WAAW,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAClD,CAAC;oBACD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAO,CAAC;oBAEhD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,OAAO;IACT,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-query-lightbase-codegen",
3
3
  "description": "Fully typed react query code generation tool based on openApi specifications",
4
- "version": "1.4.1",
4
+ "version": "1.5.1",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "exports": "./dist/index.js",
@@ -94,29 +94,19 @@ export const createHook = ({
94
94
  );
95
95
 
96
96
  const headerParams = header.filter((p) => !headerFilters?.includes(p.name));
97
-
98
- let enabled = [] as any;
99
-
97
+ const requiredParams = [...queryParams, ...pathParams, ...headerParams].filter((p) => p.required);
100
98
  // TODO: extract all requestBody or remove useQuery variants
101
- let enabledParam = '!!params';
102
- [...queryParams, ...pathParams, ...headerParams].forEach((item) => {
103
- if (item.required) {
104
- enabled.push(`["${item.name}"]`);
105
- if (enabledParam && enabledParam !== '!!params') {
106
- enabledParam += `&& params['${item.name}'] != null`;
107
- } else {
108
- enabledParam = `params['${item.name}'] != null`;
109
- }
110
- }
111
- });
112
-
113
- // `!props${enabled.join('== null && !props')}`;
99
+ let enabledParam: boolean | string = true;
100
+ if (requiredParams.length) {
101
+ enabledParam = 'hasDefinedProps(params,';
102
+ enabledParam += requiredParams.map((p) => `"${p.name}"`).join(', ');
103
+ }
114
104
 
115
105
  const paramsTypes = paramsInPath
116
106
  .map((p) => {
117
107
  try {
118
108
  const { name, required, schema } = pathParams.find((i) => i.name === p)!;
119
- return `${name}${required ? '' : '?'}: ${resolveValue(schema!)}`;
109
+ return `${name}${required ? '' : '?'}: ${resolveValue(schema!)} ${required ? '| undefined' : ''}`;
120
110
  } catch (err) {
121
111
  throw new Error(`The path params ${p} can't be found in parameters (${operationId})`);
122
112
  }
@@ -127,7 +117,7 @@ export const createHook = ({
127
117
  .map((p) => {
128
118
  const processedName = IdentifierRegexp.test(p.name) ? p.name : `"${p.name}"`;
129
119
  return `${formatDescription(p.description)}
130
- ${processedName}${p.required ? '' : '?'}: ${resolveValue(p.schema!)}`;
120
+ ${processedName}${p.required ? '' : '?'}: ${resolveValue(p.schema!)} ${p.required ? '| undefined' : ''}`;
131
121
  })
132
122
  .join(';\n ');
133
123
 
@@ -135,7 +125,7 @@ export const createHook = ({
135
125
  .map((p) => {
136
126
  try {
137
127
  const { name, required, schema } = headerParams.find((i) => i.name === p.name)!;
138
- return `"${name}"${required ? '' : '?'}: ${resolveValue(schema!)}`;
128
+ return `"${name}"${required ? '' : '?'}: ${resolveValue(schema!)} ${required ? '| undefined' : ''}`;
139
129
  } catch (err) {
140
130
  throw new Error(`The path params ${p} can't be found in parameters (${operationId})`);
141
131
  }
@@ -179,9 +169,61 @@ export const createHook = ({
179
169
 
180
170
  const fetchName = camel(componentName);
181
171
 
172
+ const hasRequestBodyArrray = requestBodyComponent && requestBodyComponent.includes('[]');
173
+ const body = hasRequestBodyArrray ? `{body: ${requestBodyComponent}}` : `${requestBodyComponent}`;
174
+ const bodyProps = hasRequestBodyArrray ? `{body, ...props}` : 'props';
175
+
176
+ // const generateEnabledBodyProps = () => {
177
+ const definitionKey = Object.keys(schemasComponents?.schemas || {}).find(
178
+ (key) => pascal(key) === requestBodyComponent
179
+ );
180
+
181
+ if (definitionKey && !hasRequestBodyArrray) {
182
+ const scheme = schemasComponents?.schemas?.[definitionKey] as SchemaObject;
183
+ const generatedBodyProps = Object.keys(scheme.properties as SchemaObject);
184
+ const requiredBodyProps = generatedBodyProps.filter((p) => scheme.required?.includes(p));
185
+
186
+ if (requiredBodyProps.length) {
187
+ if (enabledParam === true) {
188
+ enabledParam = 'hasDefinedProps(params,';
189
+ enabledParam += requiredBodyProps.map((p) => `"${p}"`).join(', ');
190
+ } else {
191
+ enabledParam += ',';
192
+ enabledParam += requiredBodyProps.map((p) => `"${p}"`).join(', ');
193
+ }
194
+ }
195
+ }
196
+
197
+ if (operation.requestBody && 'content' in operation.requestBody) {
198
+ let generatedBodyProps = [];
199
+ for (let contentType of Object.keys(operation.requestBody.content)) {
200
+ if (contentType.startsWith('application/json') || contentType.startsWith('application/octet-stream')) {
201
+ const schema = operation.requestBody.content[contentType].schema!;
202
+
203
+ if ('properties' in schema) {
204
+ // @ts-ignore
205
+ generatedBodyProps.push(...Object.keys(schema.properties));
206
+ }
207
+ }
208
+ }
209
+ if (generatedBodyProps.length > 0) {
210
+ generatedBodyProps.forEach((item) => {
211
+ if (enabledParam && enabledParam !== 'hasDefinedProps(params,') {
212
+ console.log('SKIPPING', item);
213
+ } else {
214
+ console.log('SKIPPING2', item);
215
+ }
216
+ });
217
+ }
218
+ }
219
+
220
+ if (enabledParam !== true) {
221
+ enabledParam += ')';
222
+ }
223
+
182
224
  const createQueryHooks = (emptyParams?: boolean) => {
183
225
  const key = emptyParams ? '' : `params`;
184
- const queryParamType = emptyParams ? '' : `${componentName}Params`;
226
+ const queryParamType = emptyParams ? '' : `Partial<${componentName}Params>`;
185
227
  const queryKey = emptyParams
186
228
  ? `["${componentName.toLowerCase()}"]`
187
229
  : `["${componentName.toLowerCase()}", params]`;
@@ -189,9 +231,11 @@ export const createHook = ({
189
231
  const propTest = emptyParams ? '' : `${props}: ${queryParamType}`;
190
232
  const createQuery = () => `
191
233
  export function get${componentName}QueryOptions(${propTest}) {
234
+ const enabled = ${enabledParam}
235
+
192
236
  return queryOptions({
193
237
  queryKey: ${queryKey},
194
- queryFn: () => ${fetchName}(${key}),
238
+ queryFn: enabled ? () => ${fetchName}(${key}) : skipToken,
195
239
  });
196
240
  }`;
197
241
 
@@ -201,19 +245,11 @@ export const createHook = ({
201
245
 
202
246
  output += createQueryHooks(!requestBodyComponent && !paramsInPath.length && !queryParam && !headerParam);
203
247
 
204
- const hasRequestBodyArrray = requestBodyComponent && requestBodyComponent.includes('[]');
205
- const body = hasRequestBodyArrray ? `{body: ${requestBodyComponent}}` : `${requestBodyComponent}`;
206
- const bodyProps = hasRequestBodyArrray ? `{body, ...props}` : 'props';
207
-
208
248
  const generateProps = (props: ParameterObject[]) => {
209
249
  return props.map((item) => `["${item.name}"]: props["${item.name}"]`).join(',');
210
250
  };
211
251
 
212
252
  const generateBodyProps = () => {
213
- const definitionKey = Object.keys(schemasComponents?.schemas || {}).find(
214
- (key) => pascal(key) === requestBodyComponent
215
- );
216
-
217
253
  if (definitionKey && !hasRequestBodyArrray) {
218
254
  const scheme = schemasComponents?.schemas?.[definitionKey] as SchemaObject;
219
255
  const generatedBodyProps = Object.keys(scheme.properties as SchemaObject)
@@ -240,7 +276,7 @@ export const createHook = ({
240
276
  return `const body = {${generatedBodyProps.map((item) => `${item}: props.${item}`).join(',')}}`;
241
277
  }
242
278
 
243
- return `hehe`;
279
+ return `ERROR`;
244
280
  };
245
281
 
246
282
  if (!requestBodyComponent && !paramsInPath.length && !queryParam && !headerParam) {
@@ -12,7 +12,7 @@ export const generateImports = ({
12
12
  const importTypes = schemaImports.join(',');
13
13
  let imports = [] as string[];
14
14
  if (queryImports.includes('query')) {
15
- imports = [...imports, 'queryOptions'];
15
+ imports = [...imports, 'skipToken', 'queryOptions'];
16
16
  }
17
17
  if (queryImports.includes('infiniteQuery')) {
18
18
  imports = [...imports, 'infiniteQueryOptions'];
@@ -101,7 +101,14 @@ async function make({
101
101
 
102
102
  const operationIds: string[] = [];
103
103
 
104
- let hooks = '';
104
+ let hooks = `
105
+ function hasDefinedProps<T extends { [P in K]?: any }, K extends PropertyKey>(
106
+ obj: T,
107
+ ...keys: K[]
108
+ ): obj is T & { [P in K]-?: Exclude<T[P], undefined> } {
109
+ return keys.every((k) => obj[k] !== undefined);
110
+ }
111
+ `;
105
112
  let schemaImportsArray = [] as string[];
106
113
  let collectedQueryImports = [] as ('query' | 'mutation' | 'infiniteQuery')[];
107
114
  Object.entries(spec.paths).forEach(([route, verbs]: [string, PathItemObject]) => {
package/src/utils.ts CHANGED
@@ -1,212 +1,193 @@
1
- import lodash from "lodash";
1
+ import lodash from 'lodash';
2
2
  const { uniq, isEmpty } = lodash;
3
- import pasCase from "case";
4
- import chalk from "chalk";
3
+ import pasCase from 'case';
4
+ import chalk from 'chalk';
5
5
 
6
6
  const { pascal } = pasCase;
7
7
 
8
- import type {
9
- ReferenceObject,
10
- RequestBodyObject,
11
- ResponseObject,
12
- SchemaObject,
13
- } from "openapi3-ts";
8
+ import type { ReferenceObject, RequestBodyObject, ResponseObject, SchemaObject } from 'openapi3-ts';
14
9
 
15
10
  export const getDocs = (data: ReferenceObject | { description?: string }) =>
16
- isReference(data) ? "" : formatDescription(data.description);
11
+ isReference(data) ? '' : formatDescription(data.description);
17
12
  /**
18
13
  * Discriminator helper for `ReferenceObject`
19
14
  */
20
15
  export const isReference = (property: any): property is ReferenceObject => {
21
- return Boolean(property.$ref);
16
+ return Boolean(property.$ref);
22
17
  };
23
18
 
24
19
  /**
25
20
  * Return the typescript equivalent of open-api data type
26
21
  */
27
22
  export const getScalar = (item: SchemaObject) => {
28
- const nullable = item.nullable ? " | null" : "";
23
+ const nullable = item.nullable ? ' | null' : '';
29
24
 
30
- switch (item.type) {
31
- case "number":
32
- case "integer":
33
- return "number" + nullable;
25
+ switch (item.type) {
26
+ case 'number':
27
+ case 'integer':
28
+ return 'number' + nullable;
34
29
 
35
- case "boolean":
36
- return "boolean" + nullable;
30
+ case 'boolean':
31
+ return 'boolean' + nullable;
37
32
 
38
- case "array":
39
- return getArray(item) + nullable;
33
+ case 'array':
34
+ return getArray(item) + nullable;
40
35
 
41
- case "string":
42
- return (item.enum ? `"${item.enum.join(`" | "`)}"` : "string") + nullable;
36
+ case 'string':
37
+ return (item.enum ? `"${item.enum.join(`" | "`)}"` : 'string') + nullable;
43
38
 
44
- case "object":
45
- return getObject(item) + nullable;
39
+ case 'object':
40
+ return getObject(item) + nullable;
46
41
 
47
- default:
48
- return getObject(item) + nullable;
49
- }
42
+ default:
43
+ return getObject(item) + nullable;
44
+ }
50
45
  };
51
46
 
52
47
  /**
53
48
  * Return the output type from the $ref
54
49
  */
55
- const getRef = ($ref: ReferenceObject["$ref"]) => {
56
- if ($ref.startsWith("#/components/schemas")) {
57
- return pascal($ref.replace("#/components/schemas/", ""));
58
- } else if ($ref.startsWith("#/components/responses")) {
59
- return pascal($ref.replace("#/components/responses/", "")) + "Response";
60
- } else if ($ref.startsWith("#/components/parameters")) {
61
- return pascal($ref.replace("#/components/parameters/", "")) + "Parameter";
62
- } else if ($ref.startsWith("#/components/requestBodies")) {
63
- return (
64
- pascal($ref.replace("#/components/requestBodies/", "")) + "RequestBody"
65
- );
66
- } else {
67
- throw new Error(
68
- "This library only resolve $ref that are include into `#/components/*` for now",
69
- );
70
- }
50
+ const getRef = ($ref: ReferenceObject['$ref']) => {
51
+ if ($ref.startsWith('#/components/schemas')) {
52
+ return pascal($ref.replace('#/components/schemas/', ''));
53
+ } else if ($ref.startsWith('#/components/responses')) {
54
+ return pascal($ref.replace('#/components/responses/', '')) + 'Response';
55
+ } else if ($ref.startsWith('#/components/parameters')) {
56
+ return pascal($ref.replace('#/components/parameters/', '')) + 'Parameter';
57
+ } else if ($ref.startsWith('#/components/requestBodies')) {
58
+ return pascal($ref.replace('#/components/requestBodies/', '')) + 'RequestBody';
59
+ } else {
60
+ throw new Error('This library only resolve $ref that are include into `#/components/*` for now');
61
+ }
71
62
  };
72
63
 
73
64
  /**
74
65
  * Return the output type from an array
75
66
  */
76
67
  const getArray = (item: SchemaObject): string | undefined => {
77
- if (item.items) {
78
- if (
79
- !isReference(item.items) &&
80
- (item.items.oneOf || item.items.allOf || item.items.enum)
81
- ) {
82
- return `(${resolveValue(item.items)})[]`;
83
- } else {
84
- return `${resolveValue(item.items)}[]`;
85
- }
86
- }
87
- console.log(chalk.red("Skipped: All arrays must have an `items` key define"));
68
+ if (item.items) {
69
+ if (!isReference(item.items) && (item.items.oneOf || item.items.allOf || item.items.enum)) {
70
+ return `(${resolveValue(item.items)})[]`;
71
+ } else {
72
+ return `${resolveValue(item.items)}[]`;
73
+ }
74
+ }
75
+ console.log(chalk.red(`Skipped(${item.title}): All arrays must have an 'items' key define`));
76
+ return 'unknown[]';
88
77
  };
89
78
 
90
79
  /**
91
80
  * Return the output type from an object
92
81
  */
93
82
  const getObject = (item: SchemaObject): string => {
94
- if (isReference(item)) {
95
- return getRef(item.$ref);
96
- }
97
-
98
- if (item.allOf) {
99
- return item.allOf.map(resolveValue).join(" & ");
100
- }
101
-
102
- if (item.oneOf) {
103
- return item.oneOf.map(resolveValue).join(" | ");
104
- }
105
-
106
- if (!item.type && !item.properties && !item.additionalProperties) {
107
- return "{}";
108
- }
109
-
110
- // Free form object (https://swagger.io/docs/specification/data-models/data-types/#free-form)
111
- if (
112
- item.type === "object" &&
113
- !item.properties &&
114
- (!item.additionalProperties ||
115
- item.additionalProperties === true ||
116
- isEmpty(item.additionalProperties))
117
- ) {
118
- return "{[key: string]: any}";
119
- }
120
-
121
- const IdentifierRegexp = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/;
122
- // Consolidation of item.properties & item.additionalProperties
123
- let output = "{";
124
- if (item.properties) {
125
- output += Object.entries(item.properties)
126
- .map(([key, prop]: [string, ReferenceObject | SchemaObject]) => {
127
- const doc = getDocs(prop);
128
- const isRequired = (item.required || []).includes(key);
129
- const processedKey = IdentifierRegexp.test(key) ? key : `"${key}"`;
130
- return `${doc}\n${processedKey}${isRequired ? "" : "?"}: ${resolveValue(
131
- prop,
132
- )};`;
133
- })
134
- .join("");
135
- }
136
-
137
- if (item.additionalProperties) {
138
- if (item.properties) {
139
- output += "\n";
140
- }
141
- output += `} & { [key: string]: ${
142
- item.additionalProperties === true
143
- ? "any"
144
- : resolveValue(item.additionalProperties)
145
- }`;
146
- }
147
-
148
- if (item.properties || item.additionalProperties) {
149
- if (output === "{\n") {
150
- return "{}";
151
- }
152
- return output + "\n}";
153
- }
154
-
155
- return item.type === "object" ? "{[key: string]: any}" : "any";
83
+ if (isReference(item)) {
84
+ return getRef(item.$ref);
85
+ }
86
+
87
+ if (item.allOf) {
88
+ return item.allOf.map(resolveValue).join(' & ');
89
+ }
90
+
91
+ if (item.oneOf) {
92
+ return item.oneOf.map(resolveValue).join(' | ');
93
+ }
94
+
95
+ if (!item.type && !item.properties && !item.additionalProperties) {
96
+ return '{}';
97
+ }
98
+
99
+ // Free form object (https://swagger.io/docs/specification/data-models/data-types/#free-form)
100
+ if (
101
+ item.type === 'object' &&
102
+ !item.properties &&
103
+ (!item.additionalProperties || item.additionalProperties === true || isEmpty(item.additionalProperties))
104
+ ) {
105
+ return '{[key: string]: any}';
106
+ }
107
+
108
+ const IdentifierRegexp = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/;
109
+ // Consolidation of item.properties & item.additionalProperties
110
+ let output = '{';
111
+ if (item.properties) {
112
+ output += Object.entries(item.properties)
113
+ .map(([key, prop]: [string, ReferenceObject | SchemaObject]) => {
114
+ const doc = getDocs(prop);
115
+ const isRequired = (item.required || []).includes(key);
116
+ const processedKey = IdentifierRegexp.test(key) ? key : `"${key}"`;
117
+ return `${doc}\n${processedKey}${isRequired ? '' : '?'}: ${resolveValue(prop)}`;
118
+ })
119
+ .join('');
120
+ }
121
+
122
+ if (item.additionalProperties) {
123
+ if (item.properties) {
124
+ output += '\n';
125
+ }
126
+ output += `} & { [key: string]: ${
127
+ item.additionalProperties === true ? 'any' : resolveValue(item.additionalProperties)
128
+ }`;
129
+ }
130
+
131
+ if (item.properties || item.additionalProperties) {
132
+ if (output === '{\n') {
133
+ return '{}';
134
+ }
135
+ return output + '\n}';
136
+ }
137
+
138
+ return item.type === 'object' ? '{[key: string]: any}' : 'any';
156
139
  };
157
140
 
158
141
  /**
159
142
  * Resolve the value of a schema object to a proper type definition.
160
143
  */
161
144
  export const resolveValue = (schema: SchemaObject) =>
162
- isReference(schema) ? getRef(schema.$ref) : getScalar(schema);
145
+ isReference(schema) ? getRef(schema.$ref) : getScalar(schema);
163
146
 
164
147
  /**
165
148
  * Format a description to code documentation.
166
149
  */
167
150
  export const formatDescription = (description?: string) => {
168
- if (!description) {
169
- return "";
170
- }
171
- return `\n/**\n${description
172
- .split("\n")
173
- .map((i) => `* ${i}`)
174
- .join("\n")}\n */`;
151
+ if (!description) {
152
+ return '';
153
+ }
154
+ return `\n/**\n${description
155
+ .split('\n')
156
+ .map((i) => `* ${i}`)
157
+ .join('\n')}\n */`;
175
158
  };
176
159
 
177
160
  /**
178
161
  * Extract responses / request types from open-api specs
179
162
  */
180
163
  export const getResReqTypes = (
181
- responsesOrRequests: Array<
182
- [string, ResponseObject | ReferenceObject | RequestBodyObject]
183
- >,
164
+ responsesOrRequests: Array<[string, ResponseObject | ReferenceObject | RequestBodyObject]>
184
165
  ) => {
185
- return uniq(
186
- responsesOrRequests.map(([_, res]) => {
187
- if (!res) {
188
- return;
189
- }
190
-
191
- if (isReference(res)) {
192
- return getRef(res.$ref);
193
- }
194
-
195
- if (res.content) {
196
- for (const contentType of Object.keys(res.content)) {
197
- if (
198
- contentType.startsWith("application/json") ||
199
- contentType.startsWith("application/octet-stream")
200
- ) {
201
- const schema = res.content[contentType].schema!;
202
-
203
- return resolveValue(schema);
204
- }
205
- }
206
- return;
207
- }
208
-
209
- return;
210
- }),
211
- ).join(" | ");
166
+ return uniq(
167
+ responsesOrRequests.map(([_, res]) => {
168
+ if (!res) {
169
+ return;
170
+ }
171
+
172
+ if (isReference(res)) {
173
+ return getRef(res.$ref);
174
+ }
175
+
176
+ if (res.content) {
177
+ for (const contentType of Object.keys(res.content)) {
178
+ if (
179
+ contentType.startsWith('application/json') ||
180
+ contentType.startsWith('application/octet-stream')
181
+ ) {
182
+ const schema = res.content[contentType].schema!;
183
+
184
+ return resolveValue(schema);
185
+ }
186
+ }
187
+ return;
188
+ }
189
+
190
+ return;
191
+ })
192
+ ).join(' | ');
212
193
  };