@povio/openapi-codegen-cli 2.0.8-rc.1 → 2.0.8-rc.10

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 (163) hide show
  1. package/README.md +63 -0
  2. package/dist/acl.d.mts +48 -0
  3. package/dist/acl.mjs +62 -7
  4. package/dist/auth.context-DKjzWiaA.mjs +59 -0
  5. package/dist/config-Cu_GYfai.d.mts +6 -0
  6. package/dist/generate.runner-CHLAT44S.mjs +98 -0
  7. package/dist/generateCodeFromOpenAPIDoc-CQZ2OLwB.mjs +4522 -0
  8. package/dist/generator.d.mts +65 -0
  9. package/dist/generator.mjs +144 -0
  10. package/dist/index.d.mts +246 -0
  11. package/dist/index.mjs +365 -22
  12. package/dist/options-DBz5YE3s.d.mts +90 -0
  13. package/dist/sh.d.mts +1 -0
  14. package/dist/sh.mjs +439 -0
  15. package/dist/vite.d.mts +8 -0
  16. package/dist/vite.mjs +50 -0
  17. package/package.json +56 -51
  18. package/src/assets/useMutationEffects.ts +38 -23
  19. package/src/generators/templates/endpoints.hbs +0 -1
  20. package/src/generators/templates/partials/query-use-mutation.hbs +1 -1
  21. package/src/generators/templates/query-modules.hbs +1 -1
  22. package/dist/acl.d.ts +0 -4
  23. package/dist/commands/check.command.d.ts +0 -2
  24. package/dist/commands/check.d.ts +0 -7
  25. package/dist/commands/generate.command.d.ts +0 -2
  26. package/dist/commands/generate.d.ts +0 -8
  27. package/dist/generator.d.ts +0 -3
  28. package/dist/generator.js +0 -77
  29. package/dist/generators/checkOpenAPIDoc.d.ts +0 -3
  30. package/dist/generators/const/acl.const.d.ts +0 -13
  31. package/dist/generators/const/buildConfigs.const.d.ts +0 -1
  32. package/dist/generators/const/deps.const.d.ts +0 -38
  33. package/dist/generators/const/endpoints.const.d.ts +0 -11
  34. package/dist/generators/const/js.const.d.ts +0 -1
  35. package/dist/generators/const/openapi.const.d.ts +0 -7
  36. package/dist/generators/const/options.const.d.ts +0 -2
  37. package/dist/generators/const/package.const.d.ts +0 -2
  38. package/dist/generators/const/queries.const.d.ts +0 -8
  39. package/dist/generators/const/validation.const.d.ts +0 -53
  40. package/dist/generators/const/zod.const.d.ts +0 -19
  41. package/dist/generators/core/SchemaResolver.class.d.ts +0 -71
  42. package/dist/generators/core/endpoints/getEndpointAcl.d.ts +0 -8
  43. package/dist/generators/core/endpoints/getEndpointBody.d.ts +0 -13
  44. package/dist/generators/core/endpoints/getEndpointParameter.d.ts +0 -11
  45. package/dist/generators/core/endpoints/getEndpointsFromOpenAPIDoc.d.ts +0 -3
  46. package/dist/generators/core/endpoints/getEndpointsFromOpenAPIDoc.test.d.ts +0 -1
  47. package/dist/generators/core/getDataFromOpenAPIDoc.d.ts +0 -8
  48. package/dist/generators/core/getMetadataFromOpenAPIDoc.d.ts +0 -4
  49. package/dist/generators/core/getMetadataFromOpenAPIDoc.test.d.ts +0 -1
  50. package/dist/generators/core/openapi/getOpenAPISchemaComplexity.d.ts +0 -2
  51. package/dist/generators/core/openapi/getOpenAPISchemaComplexity.test.d.ts +0 -1
  52. package/dist/generators/core/openapi/getOpenAPISchemaDependencyGraph.d.ts +0 -6
  53. package/dist/generators/core/openapi/getOpenAPISchemaDependencyGraph.test.d.ts +0 -1
  54. package/dist/generators/core/openapi/getSchemaRefObjs.d.ts +0 -4
  55. package/dist/generators/core/openapi/iterateSchema.d.ts +0 -22
  56. package/dist/generators/core/resolveConfig.d.ts +0 -7
  57. package/dist/generators/core/zod/ZodSchema.class.d.ts +0 -26
  58. package/dist/generators/core/zod/enumExtraction/resolveExtractedEnumZodSchemaNames.d.ts +0 -2
  59. package/dist/generators/core/zod/enumExtraction/resolveExtractedEnumZodSchemaTags.d.ts +0 -2
  60. package/dist/generators/core/zod/enumExtraction/updateExtractedEnumZodSchemaData.d.ts +0 -17
  61. package/dist/generators/core/zod/getZodChain.d.ts +0 -8
  62. package/dist/generators/core/zod/getZodSchema.d.ts +0 -17
  63. package/dist/generators/core/zod/getZodSchema.test.d.ts +0 -1
  64. package/dist/generators/core/zod/getZodSchemaRefs.d.ts +0 -6
  65. package/dist/generators/core/zod/getZodSchemasFromOpenAPIDoc.d.ts +0 -6
  66. package/dist/generators/core/zod/resolveZodSchemaName.d.ts +0 -10
  67. package/dist/generators/core/zod/sortZodSchemasByTopology.d.ts +0 -4
  68. package/dist/generators/generate/generateAcl.d.ts +0 -3
  69. package/dist/generators/generate/generateAclCheck.d.ts +0 -2
  70. package/dist/generators/generate/generateAppRestClient.d.ts +0 -2
  71. package/dist/generators/generate/generateConfigs.d.ts +0 -2
  72. package/dist/generators/generate/generateEndpoints.d.ts +0 -2
  73. package/dist/generators/generate/generateModels.d.ts +0 -2
  74. package/dist/generators/generate/generateQueries.d.ts +0 -2
  75. package/dist/generators/generate/generateQueryModules.d.ts +0 -2
  76. package/dist/generators/generate/generateZodExtended.d.ts +0 -2
  77. package/dist/generators/generateCodeFromOpenAPIDoc.d.ts +0 -4
  78. package/dist/generators/types/builder-config.d.ts +0 -48
  79. package/dist/generators/types/common.d.ts +0 -27
  80. package/dist/generators/types/config.d.ts +0 -2
  81. package/dist/generators/types/endpoint.d.ts +0 -50
  82. package/dist/generators/types/generate.d.ts +0 -39
  83. package/dist/generators/types/metadata.d.ts +0 -51
  84. package/dist/generators/types/openapi.d.ts +0 -22
  85. package/dist/generators/types/options.d.ts +0 -66
  86. package/dist/generators/types/validation.d.ts +0 -5
  87. package/dist/generators/utils/array.utils.d.ts +0 -1
  88. package/dist/generators/utils/endpoint.utils.d.ts +0 -12
  89. package/dist/generators/utils/endpoint.utils.test.d.ts +0 -1
  90. package/dist/generators/utils/file.utils.d.ts +0 -8
  91. package/dist/generators/utils/generate/generate.acl.utils.d.ts +0 -23
  92. package/dist/generators/utils/generate/generate.configs.utils.d.ts +0 -15
  93. package/dist/generators/utils/generate/generate.endpoints.utils.d.ts +0 -39
  94. package/dist/generators/utils/generate/generate.imports.utils.d.ts +0 -39
  95. package/dist/generators/utils/generate/generate.imports.utils.test.d.ts +0 -1
  96. package/dist/generators/utils/generate/generate.openapi.utils.d.ts +0 -2
  97. package/dist/generators/utils/generate/generate.query.utils.d.ts +0 -6
  98. package/dist/generators/utils/generate/generate.utils.d.ts +0 -18
  99. package/dist/generators/utils/generate/generate.zod.utils.d.ts +0 -13
  100. package/dist/generators/utils/generate-files.utils.d.ts +0 -6
  101. package/dist/generators/utils/hbs/hbs-template.utils.d.ts +0 -3
  102. package/dist/generators/utils/hbs/hbs.acl.utils.d.ts +0 -2
  103. package/dist/generators/utils/hbs/hbs.common.utils.d.ts +0 -1
  104. package/dist/generators/utils/hbs/hbs.endpoints.utils.d.ts +0 -2
  105. package/dist/generators/utils/hbs/hbs.imports.utils.d.ts +0 -1
  106. package/dist/generators/utils/hbs/hbs.partials.utils.d.ts +0 -2
  107. package/dist/generators/utils/hbs/hbs.query.utils.d.ts +0 -2
  108. package/dist/generators/utils/hbs/hbs.zod.utils.d.ts +0 -2
  109. package/dist/generators/utils/js.utils.d.ts +0 -2
  110. package/dist/generators/utils/js.utils.test.d.ts +0 -1
  111. package/dist/generators/utils/math.utils.d.ts +0 -1
  112. package/dist/generators/utils/namespace.utils.d.ts +0 -7
  113. package/dist/generators/utils/object.utils.d.ts +0 -13
  114. package/dist/generators/utils/object.utils.test.d.ts +0 -1
  115. package/dist/generators/utils/openapi-schema.utils.d.ts +0 -15
  116. package/dist/generators/utils/openapi.utils.d.ts +0 -23
  117. package/dist/generators/utils/openapi.utils.test.d.ts +0 -1
  118. package/dist/generators/utils/operation.utils.d.ts +0 -22
  119. package/dist/generators/utils/operation.utils.test.d.ts +0 -1
  120. package/dist/generators/utils/query.utils.d.ts +0 -7
  121. package/dist/generators/utils/sort.utils.d.ts +0 -7
  122. package/dist/generators/utils/string.utils.d.ts +0 -14
  123. package/dist/generators/utils/string.utils.test.d.ts +0 -1
  124. package/dist/generators/utils/tag.utils.d.ts +0 -7
  125. package/dist/generators/utils/ts.utils.d.ts +0 -16
  126. package/dist/generators/utils/validation.utils.d.ts +0 -17
  127. package/dist/generators/utils/zod-schema.utils.d.ts +0 -15
  128. package/dist/helpers/cli.helper.d.ts +0 -22
  129. package/dist/helpers/config.helper.d.ts +0 -3
  130. package/dist/helpers/version.helper.d.ts +0 -4
  131. package/dist/helpers/yargs.helper.d.ts +0 -10
  132. package/dist/index.d.ts +0 -14
  133. package/dist/lib/acl/AclGuard.d.ts +0 -8
  134. package/dist/lib/acl/AclGuard.mjs +0 -14
  135. package/dist/lib/acl/Can.d.ts +0 -9
  136. package/dist/lib/acl/Can.mjs +0 -11
  137. package/dist/lib/acl/ability.context.d.ts +0 -15
  138. package/dist/lib/acl/ability.context.mjs +0 -37
  139. package/dist/lib/acl/appAbility.types.d.ts +0 -3
  140. package/dist/lib/assets/locales/en/translation.json.mjs +0 -8
  141. package/dist/lib/assets/locales/sl/translation.json.mjs +0 -8
  142. package/dist/lib/auth/AuthGuard.d.ts +0 -6
  143. package/dist/lib/auth/AuthGuard.mjs +0 -26
  144. package/dist/lib/auth/auth.context.d.ts +0 -22
  145. package/dist/lib/auth/auth.context.mjs +0 -41
  146. package/dist/lib/config/i18n.d.ts +0 -32
  147. package/dist/lib/config/i18n.mjs +0 -31
  148. package/dist/lib/config/queryConfig.context.d.ts +0 -14
  149. package/dist/lib/config/queryConfig.context.mjs +0 -23
  150. package/dist/lib/config/router.context.d.ts +0 -9
  151. package/dist/lib/config/router.context.mjs +0 -20
  152. package/dist/lib/react-query.types.d.ts +0 -10
  153. package/dist/lib/rest/error-handling.d.ts +0 -30
  154. package/dist/lib/rest/error-handling.mjs +0 -132
  155. package/dist/lib/rest/rest-client.d.ts +0 -22
  156. package/dist/lib/rest/rest-client.mjs +0 -62
  157. package/dist/lib/rest/rest-client.types.d.ts +0 -23
  158. package/dist/lib/rest/rest-interceptor.d.ts +0 -8
  159. package/dist/lib/rest/rest-interceptor.mjs +0 -21
  160. package/dist/lib/rest/rest.utils.d.ts +0 -7
  161. package/dist/lib/rest/rest.utils.mjs +0 -51
  162. package/dist/sh.d.ts +0 -2
  163. package/dist/sh.js +0 -652
package/dist/index.mjs CHANGED
@@ -1,23 +1,366 @@
1
- import { RestClient } from "./lib/rest/rest-client.mjs";
2
- import { RestInterceptor } from "./lib/rest/rest-interceptor.mjs";
3
- import { RestUtils } from "./lib/rest/rest.utils.mjs";
4
- import { ApplicationException, ErrorHandler, SharedErrorHandler } from "./lib/rest/error-handling.mjs";
5
- import { OpenApiRouter } from "./lib/config/router.context.mjs";
6
- import { OpenApiQueryConfig } from "./lib/config/queryConfig.context.mjs";
7
- import { ns, resources } from "./lib/config/i18n.mjs";
8
- import { AuthContext } from "./lib/auth/auth.context.mjs";
9
- import { AuthGuard } from "./lib/auth/AuthGuard.mjs";
10
- export {
11
- ApplicationException,
12
- AuthContext,
13
- AuthGuard,
14
- ErrorHandler,
15
- OpenApiQueryConfig,
16
- OpenApiRouter,
17
- RestClient,
18
- RestInterceptor,
19
- RestUtils,
20
- SharedErrorHandler,
21
- ns,
22
- resources
1
+ import { n as OpenApiRouter, t as AuthContext } from "./auth.context-DKjzWiaA.mjs";
2
+ import axios, { isAxiosError, isCancel } from "axios";
3
+ import { z } from "zod";
4
+ import i18next from "i18next";
5
+ import { createContext, use, useEffect, useMemo, useState } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+
8
+ //#region src/lib/assets/locales/en/translation.json
9
+ var translation_default$1 = { openapi: { "sharedErrors": {
10
+ "dataValidation": "An error occurred while validating the data",
11
+ "internalError": "An internal error occurred. This is most likely a bug on our end. Please try again later.",
12
+ "networkError": "A network error occurred. Are you connected to the internet?",
13
+ "canceledError": "The request was canceled.",
14
+ "unknownError": "An unknown error occurred. Please try again later.",
15
+ "unknownErrorWithCode": "An unknown error occurred. Error code: \"{{code}}\""
16
+ } } };
17
+
18
+ //#endregion
19
+ //#region src/lib/assets/locales/sl/translation.json
20
+ var translation_default = { openapi: { "sharedErrors": {
21
+ "dataValidation": "Pri preverjanju podatkov je prišlo do napake",
22
+ "internalError": "Prišlo je do notranje napake.",
23
+ "networkError": "Prišlo je do napake v omrežju.",
24
+ "canceledError": "Zahteva je bila preklicana.",
25
+ "unknownError": "Prišlo je do neznane napake.",
26
+ "unknownErrorWithCode": "Prišlo je do neznane napake. Koda napake: \"{{code}}\""
27
+ } } };
28
+
29
+ //#endregion
30
+ //#region src/lib/config/i18n.ts
31
+ const ns = "openapi";
32
+ const resources = {
33
+ en: { [ns]: translation_default$1 },
34
+ sl: { [ns]: translation_default }
23
35
  };
36
+ const defaultLanguage = "en";
37
+ const i18n = i18next.createInstance();
38
+ i18n.init({
39
+ compatibilityJSON: "v4",
40
+ lng: defaultLanguage,
41
+ fallbackLng: defaultLanguage,
42
+ resources,
43
+ ns: Object.keys(resources.en),
44
+ defaultNS: ns,
45
+ interpolation: { escapeValue: false }
46
+ });
47
+ const defaultT = i18n.t.bind(i18n);
48
+
49
+ //#endregion
50
+ //#region src/lib/rest/rest.utils.ts
51
+ let RestUtils;
52
+ (function(_RestUtils) {
53
+ _RestUtils.extractServerResponseCode = (e) => {
54
+ if (e instanceof z.ZodError) return "validation-exception";
55
+ if (!isAxiosError(e)) return null;
56
+ if (!e.response) return null;
57
+ const data = e.response.data;
58
+ if (typeof data?.code === "string") return data.code;
59
+ return null;
60
+ };
61
+ _RestUtils.doesServerErrorMessageContain = (e, text) => {
62
+ const message = extractServerErrorMessage(e);
63
+ if (message === null || message === void 0) return false;
64
+ return message.toLowerCase().includes(text.toLowerCase());
65
+ };
66
+ const extractServerErrorMessage = _RestUtils.extractServerErrorMessage = (e) => {
67
+ if (e instanceof z.ZodError) return e.message;
68
+ if (!isAxiosError(e)) return null;
69
+ if (!e.response) return null;
70
+ const data = e.response.data;
71
+ if (typeof data?.message === "string") return data.message;
72
+ return null;
73
+ };
74
+ _RestUtils.extractContentDispositionFilename = (headers) => {
75
+ const contentDisposition = headers["content-disposition"];
76
+ return contentDisposition ? /filename=["']?([^"';]+)/i.exec(contentDisposition)?.[1] : void 0;
77
+ };
78
+ })(RestUtils || (RestUtils = {}));
79
+
80
+ //#endregion
81
+ //#region src/lib/rest/error-handling.ts
82
+ var ApplicationException = class extends Error {
83
+ code;
84
+ serverMessage = null;
85
+ constructor(message, code, serverMessage) {
86
+ super(message);
87
+ this.code = code;
88
+ this.serverMessage = serverMessage;
89
+ }
90
+ };
91
+ var ErrorHandler = class {
92
+ entries = [];
93
+ t;
94
+ onRethrowError;
95
+ constructor({ entries, t = defaultT, onRethrowError }) {
96
+ this.t = t;
97
+ this.onRethrowError = onRethrowError;
98
+ const dataValidationError = {
99
+ code: "DATA_VALIDATION_ERROR",
100
+ condition: (e) => {
101
+ return e instanceof z.ZodError;
102
+ },
103
+ getMessage: () => this.t("openapi.sharedErrors.dataValidation")
104
+ };
105
+ const internalError = {
106
+ code: "INTERNAL_ERROR",
107
+ condition: (e) => {
108
+ if (isAxiosError(e)) return e.response?.status != null && e.response.status >= 500 && e.response.status < 600;
109
+ return false;
110
+ },
111
+ getMessage: () => this.t("openapi.sharedErrors.internalError")
112
+ };
113
+ const networkError = {
114
+ code: "NETWORK_ERROR",
115
+ condition: (e) => {
116
+ if (isAxiosError(e)) return e.code === "ERR_NETWORK";
117
+ return false;
118
+ },
119
+ getMessage: () => this.t("openapi.sharedErrors.networkError")
120
+ };
121
+ const canceledError = {
122
+ code: "CANCELED_ERROR",
123
+ condition: (e) => {
124
+ if (isCancel(e)) return true;
125
+ if (isAxiosError(e) && e.code === "ECONNABORTED") return true;
126
+ return false;
127
+ },
128
+ getMessage: () => this.t("openapi.sharedErrors.canceledError")
129
+ };
130
+ const unknownError = {
131
+ code: "UNKNOWN_ERROR",
132
+ condition: () => true,
133
+ getMessage: (_, e) => {
134
+ const code = RestUtils.extractServerResponseCode(e);
135
+ const serverMessage = RestUtils.extractServerErrorMessage(e);
136
+ if (code) {
137
+ let message = `Unknown error, message from server: ${code}`;
138
+ if (serverMessage) message += ` ${serverMessage}`;
139
+ return message;
140
+ }
141
+ return this.t("openapi.sharedErrors.unknownError");
142
+ }
143
+ };
144
+ this.entries = [
145
+ ...entries,
146
+ dataValidationError,
147
+ internalError,
148
+ networkError,
149
+ canceledError,
150
+ unknownError
151
+ ];
152
+ }
153
+ matchesEntry(error, entry, code) {
154
+ if (entry.condition) return entry.condition(error);
155
+ return code === entry.code;
156
+ }
157
+ setTranslateFunction(t) {
158
+ this.t = t;
159
+ }
160
+ rethrowError(error) {
161
+ const code = RestUtils.extractServerResponseCode(error);
162
+ const errorEntry = this.entries.find((entry) => this.matchesEntry(error, entry, code));
163
+ const serverMessage = RestUtils.extractServerErrorMessage(error);
164
+ const exception = new ApplicationException(errorEntry.getMessage(this.t, error), errorEntry.code, serverMessage);
165
+ this.onRethrowError?.(error, exception);
166
+ throw exception;
167
+ }
168
+ getError(error) {
169
+ if (error instanceof ApplicationException) return error;
170
+ return null;
171
+ }
172
+ getErrorCode(error) {
173
+ if (error instanceof ApplicationException) return error.code;
174
+ return null;
175
+ }
176
+ static getErrorMessage(error, fallbackToUnknown = true) {
177
+ if (typeof error === "string") return error;
178
+ if (error instanceof Error) return error.message;
179
+ if (error instanceof ApplicationException) {
180
+ if (error.serverMessage != null) return error.serverMessage;
181
+ return error.message;
182
+ }
183
+ if (fallbackToUnknown) return defaultT("openapi.sharedErrors.unknownError");
184
+ return null;
185
+ }
186
+ };
187
+ const SharedErrorHandler = new ErrorHandler({ entries: [] });
188
+
189
+ //#endregion
190
+ //#region src/lib/rest/rest-client.ts
191
+ var RestClient = class {
192
+ client;
193
+ errorHandler;
194
+ constructor({ config, interceptors, errorHandler } = {}) {
195
+ this.client = axios.create(config);
196
+ this.errorHandler = errorHandler ?? SharedErrorHandler;
197
+ this.attachInterceptors(interceptors);
198
+ }
199
+ attachInterceptors(interceptors, ...args) {
200
+ if (interceptors != null) interceptors.forEach((interceptor) => this.attachInterceptor(interceptor, ...args));
201
+ }
202
+ attachInterceptor(interceptor, ...args) {
203
+ interceptor.addInterceptor(this.client, ...args);
204
+ }
205
+ ejectInterceptor(interceptor) {
206
+ interceptor.removeInterceptor(this.client);
207
+ }
208
+ async get(requestInfo, url, requestConfig) {
209
+ return this.makeRequest(requestInfo, {
210
+ ...requestConfig,
211
+ method: "get",
212
+ url
213
+ });
214
+ }
215
+ async post(requestInfo, url, data, requestConfig) {
216
+ return this.makeRequest(requestInfo, {
217
+ ...requestConfig,
218
+ method: "post",
219
+ url,
220
+ data
221
+ });
222
+ }
223
+ async patch(requestInfo, url, data, requestConfig) {
224
+ return this.makeRequest(requestInfo, {
225
+ ...requestConfig,
226
+ method: "patch",
227
+ url,
228
+ data
229
+ });
230
+ }
231
+ async put(requestInfo, url, data, requestConfig) {
232
+ return this.makeRequest(requestInfo, {
233
+ ...requestConfig,
234
+ method: "put",
235
+ url,
236
+ data
237
+ });
238
+ }
239
+ async delete(requestInfo, url, data, requestConfig) {
240
+ return this.makeRequest(requestInfo, {
241
+ ...requestConfig,
242
+ method: "delete",
243
+ url,
244
+ data
245
+ });
246
+ }
247
+ async makeRequest(requestInfo, requestConfig) {
248
+ const errorStack = (/* @__PURE__ */ new Error()).stack;
249
+ try {
250
+ const { rawResponse, ...config } = requestConfig;
251
+ const res = await this.client(config);
252
+ const resData = requestInfo.resSchema.parse(res.data);
253
+ return rawResponse ? {
254
+ ...res,
255
+ data: resData
256
+ } : resData;
257
+ } catch (error) {
258
+ if (error instanceof z.ZodError) {
259
+ error.name = "BE Response schema mismatch - ZodError";
260
+ error.stack = [error.stack, ...errorStack?.split("\n").slice(2) ?? []].join("\n");
261
+ }
262
+ (requestInfo.errorHandler ?? this.errorHandler).rethrowError(error);
263
+ throw error;
264
+ }
265
+ }
266
+ };
267
+
268
+ //#endregion
269
+ //#region src/lib/rest/rest-interceptor.ts
270
+ var RestInterceptor = class {
271
+ interceptorIdMap = [];
272
+ constructor(applyInterceptor) {
273
+ this.applyInterceptor = applyInterceptor;
274
+ }
275
+ addInterceptor(client, ...args) {
276
+ this.removeInterceptor(client);
277
+ const interceptorId = this.applyInterceptor(client, ...args);
278
+ this.interceptorIdMap.push({
279
+ client,
280
+ interceptorId
281
+ });
282
+ }
283
+ removeInterceptor(client) {
284
+ const interceptorId = this.interceptorIdMap.find((i) => i.client === client)?.interceptorId;
285
+ if (interceptorId != null) {
286
+ client.interceptors.request.eject(interceptorId);
287
+ this.interceptorIdMap = this.interceptorIdMap.filter((i) => i.client !== client);
288
+ }
289
+ }
290
+ };
291
+
292
+ //#endregion
293
+ //#region src/lib/config/queryConfig.context.tsx
294
+ let OpenApiQueryConfig;
295
+ (function(_OpenApiQueryConfig) {
296
+ const Context = createContext({});
297
+ _OpenApiQueryConfig.Provider = ({ preferUpdate, invalidateCurrentModule, invalidationMap, crossTabInvalidation, onError, children }) => {
298
+ const value = useMemo(() => ({
299
+ preferUpdate,
300
+ invalidateCurrentModule,
301
+ invalidationMap,
302
+ crossTabInvalidation,
303
+ onError
304
+ }), [
305
+ preferUpdate,
306
+ invalidateCurrentModule,
307
+ invalidationMap,
308
+ crossTabInvalidation,
309
+ onError
310
+ ]);
311
+ return /* @__PURE__ */ jsx(Context.Provider, {
312
+ value,
313
+ children
314
+ });
315
+ };
316
+ _OpenApiQueryConfig.useConfig = () => {
317
+ return use(Context) ?? {};
318
+ };
319
+ })(OpenApiQueryConfig || (OpenApiQueryConfig = {}));
320
+
321
+ //#endregion
322
+ //#region src/lib/config/workspace.context.tsx
323
+ let OpenApiWorkspaceContext;
324
+ (function(_OpenApiWorkspaceContext) {
325
+ const Context = createContext({});
326
+ _OpenApiWorkspaceContext.Provider = ({ values, children }) => {
327
+ const contextValues = useMemo(() => values ?? {}, [values]);
328
+ return /* @__PURE__ */ jsx(Context.Provider, {
329
+ value: contextValues,
330
+ children
331
+ });
332
+ };
333
+ _OpenApiWorkspaceContext.useContext = () => {
334
+ return use(Context);
335
+ };
336
+ _OpenApiWorkspaceContext.resolveParam = (context, name, value) => {
337
+ if (value != null) return value;
338
+ const workspaceValue = context[name];
339
+ if (workspaceValue == null) throw new Error(`Missing workspace context param "${name}"`);
340
+ return workspaceValue;
341
+ };
342
+ })(OpenApiWorkspaceContext || (OpenApiWorkspaceContext = {}));
343
+
344
+ //#endregion
345
+ //#region src/lib/auth/AuthGuard.tsx
346
+ const AuthGuard = ({ type, redirectTo, children }) => {
347
+ const { isAuthenticated, routes, loadingState } = AuthContext.useAuth();
348
+ const { replace } = OpenApiRouter.useRouter();
349
+ const [hasMounted, setHasMounted] = useState(false);
350
+ useEffect(() => {
351
+ setHasMounted(true);
352
+ }, []);
353
+ if (!hasMounted) return loadingState;
354
+ if (type === "private" && !isAuthenticated) {
355
+ replace(redirectTo || routes?.unauthenticated || "/");
356
+ return null;
357
+ }
358
+ if (type === "public-only" && isAuthenticated) {
359
+ replace(redirectTo || routes?.authenticated || "/");
360
+ return null;
361
+ }
362
+ return children;
363
+ };
364
+
365
+ //#endregion
366
+ export { ApplicationException, AuthContext, AuthGuard, ErrorHandler, OpenApiQueryConfig, OpenApiRouter, OpenApiWorkspaceContext, RestClient, RestInterceptor, RestUtils, SharedErrorHandler, ns, resources };
@@ -0,0 +1,90 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+
3
+ //#region src/generators/types/generate.d.ts
4
+ declare enum GenerateType {
5
+ Models = "models",
6
+ Endpoints = "endpoints",
7
+ Queries = "queries",
8
+ Acl = "acl",
9
+ Configs = "configs"
10
+ }
11
+ interface GenerateFileData {
12
+ fileName: string;
13
+ content: string;
14
+ }
15
+ //#endregion
16
+ //#region src/generators/types/options.d.ts
17
+ interface ZodGenerateOptions {
18
+ schemaSuffix: string;
19
+ enumSuffix: string;
20
+ modelsInCommon?: boolean;
21
+ withImplicitRequiredProps?: boolean;
22
+ withDefaultValues?: boolean;
23
+ withDescription?: boolean;
24
+ allReadonly?: boolean;
25
+ extractEnums?: boolean;
26
+ replaceOptionalWithNullish?: boolean;
27
+ }
28
+ interface EndpointsGenerateOptions {
29
+ restClientImportPath: string;
30
+ errorHandlingImportPath?: string;
31
+ withDeprecatedEndpoints?: boolean;
32
+ removeOperationPrefixEndingWith?: string;
33
+ parseRequestParams?: boolean;
34
+ inlineEndpoints?: boolean;
35
+ inlineEndpointsExcludeModules?: string[];
36
+ }
37
+ interface QueriesGenerateOptions {
38
+ queryTypesImportPath: string;
39
+ axiosRequestConfig?: boolean;
40
+ mutationEffects?: boolean;
41
+ workspaceContext?: boolean;
42
+ }
43
+ interface InfiniteQueriesGenerateOptions {
44
+ infiniteQueries?: boolean;
45
+ infiniteQueryParamNames: {
46
+ page: string;
47
+ };
48
+ infiniteQueryResponseParamNames: {
49
+ page: string;
50
+ totalItems: string;
51
+ limit: string;
52
+ };
53
+ }
54
+ interface ACLGenerateOptions {
55
+ acl: boolean;
56
+ checkAcl?: boolean;
57
+ abilityContextGenericAppAbilities: boolean;
58
+ abilityContextImportPath?: string;
59
+ }
60
+ interface BuilderConfigsGenerateOptions {
61
+ builderConfigs?: boolean;
62
+ filterParamName: string;
63
+ dataResponseParamNames: string[];
64
+ dynamicInputsImportPath: string;
65
+ dynamicColumnsImportPath: string;
66
+ }
67
+ interface GenerateConfig {
68
+ outputFileNameSuffix: string;
69
+ namespaceSuffix: string;
70
+ }
71
+ interface BaseGenerateOptions {
72
+ input: string;
73
+ output: string;
74
+ incremental?: boolean;
75
+ splitByTags: boolean;
76
+ defaultTag: string;
77
+ excludeTags: string[];
78
+ excludePathRegex: string;
79
+ excludeRedundantZodSchemas: boolean;
80
+ tsNamespaces: boolean;
81
+ tsPath: string;
82
+ importPath: "ts" | "relative" | "absolute";
83
+ configs: Record<GenerateType, GenerateConfig>;
84
+ baseUrl: string;
85
+ modelsOnly?: boolean;
86
+ standalone?: boolean;
87
+ }
88
+ interface GenerateOptions extends BaseGenerateOptions, ZodGenerateOptions, EndpointsGenerateOptions, QueriesGenerateOptions, InfiniteQueriesGenerateOptions, ACLGenerateOptions, BuilderConfigsGenerateOptions {}
89
+ //#endregion
90
+ export { GenerateFileData as n, GenerateOptions as t };
package/dist/sh.d.mts ADDED
@@ -0,0 +1 @@
1
+ export { };