@povio/openapi-codegen-cli 2.0.8-rc.2 → 2.0.8-rc.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -0
- package/dist/acl.d.mts +59 -0
- package/dist/acl.mjs +73 -7
- package/dist/auth.context-Bu5KW2sI.mjs +59 -0
- package/dist/config-BHkVxL6S.d.mts +6 -0
- package/dist/error-handling-CXeVTk1T.d.mts +38 -0
- package/dist/error-handling-DkPY7Asf.mjs +187 -0
- package/dist/generate.runner-DmZ5LVHf.mjs +130 -0
- package/dist/generateCodeFromOpenAPIDoc-DZ5swy4U.mjs +4465 -0
- package/dist/generator.d.mts +65 -0
- package/dist/generator.mjs +144 -0
- package/dist/index.d.mts +230 -0
- package/dist/index.mjs +251 -22
- package/dist/options-BNqkO_OS.d.mts +91 -0
- package/dist/sh.d.mts +1 -0
- package/dist/sh.mjs +439 -0
- package/dist/vite.d.mts +8 -0
- package/dist/vite.mjs +50 -0
- package/dist/zod.d.mts +20 -0
- package/dist/zod.mjs +33 -0
- package/package.json +54 -47
- package/dist/acl.d.ts +0 -4
- package/dist/commands/check.command.d.ts +0 -2
- package/dist/commands/check.d.ts +0 -7
- package/dist/commands/generate.command.d.ts +0 -2
- package/dist/commands/generate.d.ts +0 -8
- package/dist/generator.d.ts +0 -3
- package/dist/generator.js +0 -77
- package/dist/generators/checkOpenAPIDoc.d.ts +0 -3
- package/dist/generators/const/acl.const.d.ts +0 -13
- package/dist/generators/const/buildConfigs.const.d.ts +0 -1
- package/dist/generators/const/deps.const.d.ts +0 -38
- package/dist/generators/const/endpoints.const.d.ts +0 -11
- package/dist/generators/const/js.const.d.ts +0 -1
- package/dist/generators/const/openapi.const.d.ts +0 -7
- package/dist/generators/const/options.const.d.ts +0 -2
- package/dist/generators/const/package.const.d.ts +0 -2
- package/dist/generators/const/queries.const.d.ts +0 -8
- package/dist/generators/const/validation.const.d.ts +0 -53
- package/dist/generators/const/zod.const.d.ts +0 -19
- package/dist/generators/core/SchemaResolver.class.d.ts +0 -71
- package/dist/generators/core/endpoints/getEndpointAcl.d.ts +0 -8
- package/dist/generators/core/endpoints/getEndpointBody.d.ts +0 -13
- package/dist/generators/core/endpoints/getEndpointParameter.d.ts +0 -11
- package/dist/generators/core/endpoints/getEndpointsFromOpenAPIDoc.d.ts +0 -3
- package/dist/generators/core/endpoints/getEndpointsFromOpenAPIDoc.test.d.ts +0 -1
- package/dist/generators/core/getDataFromOpenAPIDoc.d.ts +0 -8
- package/dist/generators/core/getMetadataFromOpenAPIDoc.d.ts +0 -4
- package/dist/generators/core/getMetadataFromOpenAPIDoc.test.d.ts +0 -1
- package/dist/generators/core/openapi/getOpenAPISchemaComplexity.d.ts +0 -2
- package/dist/generators/core/openapi/getOpenAPISchemaComplexity.test.d.ts +0 -1
- package/dist/generators/core/openapi/getOpenAPISchemaDependencyGraph.d.ts +0 -6
- package/dist/generators/core/openapi/getOpenAPISchemaDependencyGraph.test.d.ts +0 -1
- package/dist/generators/core/openapi/getSchemaRefObjs.d.ts +0 -4
- package/dist/generators/core/openapi/iterateSchema.d.ts +0 -22
- package/dist/generators/core/resolveConfig.d.ts +0 -7
- package/dist/generators/core/zod/ZodSchema.class.d.ts +0 -26
- package/dist/generators/core/zod/enumExtraction/resolveExtractedEnumZodSchemaNames.d.ts +0 -2
- package/dist/generators/core/zod/enumExtraction/resolveExtractedEnumZodSchemaTags.d.ts +0 -2
- package/dist/generators/core/zod/enumExtraction/updateExtractedEnumZodSchemaData.d.ts +0 -17
- package/dist/generators/core/zod/getZodChain.d.ts +0 -8
- package/dist/generators/core/zod/getZodSchema.d.ts +0 -17
- package/dist/generators/core/zod/getZodSchema.test.d.ts +0 -1
- package/dist/generators/core/zod/getZodSchemaRefs.d.ts +0 -6
- package/dist/generators/core/zod/getZodSchemasFromOpenAPIDoc.d.ts +0 -6
- package/dist/generators/core/zod/resolveZodSchemaName.d.ts +0 -10
- package/dist/generators/core/zod/sortZodSchemasByTopology.d.ts +0 -4
- package/dist/generators/generate/generateAcl.d.ts +0 -3
- package/dist/generators/generate/generateAclCheck.d.ts +0 -2
- package/dist/generators/generate/generateAppRestClient.d.ts +0 -2
- package/dist/generators/generate/generateConfigs.d.ts +0 -2
- package/dist/generators/generate/generateEndpoints.d.ts +0 -2
- package/dist/generators/generate/generateModels.d.ts +0 -2
- package/dist/generators/generate/generateQueries.d.ts +0 -2
- package/dist/generators/generate/generateQueryModules.d.ts +0 -2
- package/dist/generators/generate/generateZodExtended.d.ts +0 -2
- package/dist/generators/generateCodeFromOpenAPIDoc.d.ts +0 -4
- package/dist/generators/types/builder-config.d.ts +0 -48
- package/dist/generators/types/common.d.ts +0 -27
- package/dist/generators/types/config.d.ts +0 -2
- package/dist/generators/types/endpoint.d.ts +0 -50
- package/dist/generators/types/generate.d.ts +0 -39
- package/dist/generators/types/metadata.d.ts +0 -51
- package/dist/generators/types/openapi.d.ts +0 -22
- package/dist/generators/types/options.d.ts +0 -66
- package/dist/generators/types/validation.d.ts +0 -5
- package/dist/generators/utils/array.utils.d.ts +0 -1
- package/dist/generators/utils/endpoint.utils.d.ts +0 -12
- package/dist/generators/utils/endpoint.utils.test.d.ts +0 -1
- package/dist/generators/utils/file.utils.d.ts +0 -8
- package/dist/generators/utils/generate/generate.acl.utils.d.ts +0 -23
- package/dist/generators/utils/generate/generate.configs.utils.d.ts +0 -15
- package/dist/generators/utils/generate/generate.endpoints.utils.d.ts +0 -39
- package/dist/generators/utils/generate/generate.imports.utils.d.ts +0 -39
- package/dist/generators/utils/generate/generate.imports.utils.test.d.ts +0 -1
- package/dist/generators/utils/generate/generate.openapi.utils.d.ts +0 -2
- package/dist/generators/utils/generate/generate.query.utils.d.ts +0 -6
- package/dist/generators/utils/generate/generate.utils.d.ts +0 -18
- package/dist/generators/utils/generate/generate.zod.utils.d.ts +0 -13
- package/dist/generators/utils/generate-files.utils.d.ts +0 -6
- package/dist/generators/utils/hbs/hbs-template.utils.d.ts +0 -3
- package/dist/generators/utils/hbs/hbs.acl.utils.d.ts +0 -2
- package/dist/generators/utils/hbs/hbs.common.utils.d.ts +0 -1
- package/dist/generators/utils/hbs/hbs.endpoints.utils.d.ts +0 -2
- package/dist/generators/utils/hbs/hbs.imports.utils.d.ts +0 -1
- package/dist/generators/utils/hbs/hbs.partials.utils.d.ts +0 -2
- package/dist/generators/utils/hbs/hbs.query.utils.d.ts +0 -2
- package/dist/generators/utils/hbs/hbs.zod.utils.d.ts +0 -2
- package/dist/generators/utils/js.utils.d.ts +0 -2
- package/dist/generators/utils/js.utils.test.d.ts +0 -1
- package/dist/generators/utils/math.utils.d.ts +0 -1
- package/dist/generators/utils/namespace.utils.d.ts +0 -7
- package/dist/generators/utils/object.utils.d.ts +0 -13
- package/dist/generators/utils/object.utils.test.d.ts +0 -1
- package/dist/generators/utils/openapi-schema.utils.d.ts +0 -15
- package/dist/generators/utils/openapi.utils.d.ts +0 -23
- package/dist/generators/utils/openapi.utils.test.d.ts +0 -1
- package/dist/generators/utils/operation.utils.d.ts +0 -22
- package/dist/generators/utils/operation.utils.test.d.ts +0 -1
- package/dist/generators/utils/query.utils.d.ts +0 -7
- package/dist/generators/utils/sort.utils.d.ts +0 -7
- package/dist/generators/utils/string.utils.d.ts +0 -14
- package/dist/generators/utils/string.utils.test.d.ts +0 -1
- package/dist/generators/utils/tag.utils.d.ts +0 -7
- package/dist/generators/utils/ts.utils.d.ts +0 -16
- package/dist/generators/utils/validation.utils.d.ts +0 -17
- package/dist/generators/utils/zod-schema.utils.d.ts +0 -15
- package/dist/helpers/cli.helper.d.ts +0 -22
- package/dist/helpers/config.helper.d.ts +0 -3
- package/dist/helpers/version.helper.d.ts +0 -4
- package/dist/helpers/yargs.helper.d.ts +0 -10
- package/dist/index.d.ts +0 -14
- package/dist/lib/acl/AclGuard.d.ts +0 -8
- package/dist/lib/acl/AclGuard.mjs +0 -14
- package/dist/lib/acl/Can.d.ts +0 -9
- package/dist/lib/acl/Can.mjs +0 -11
- package/dist/lib/acl/ability.context.d.ts +0 -15
- package/dist/lib/acl/ability.context.mjs +0 -37
- package/dist/lib/acl/appAbility.types.d.ts +0 -3
- package/dist/lib/assets/locales/en/translation.json.mjs +0 -8
- package/dist/lib/assets/locales/sl/translation.json.mjs +0 -8
- package/dist/lib/auth/AuthGuard.d.ts +0 -6
- package/dist/lib/auth/AuthGuard.mjs +0 -26
- package/dist/lib/auth/auth.context.d.ts +0 -22
- package/dist/lib/auth/auth.context.mjs +0 -41
- package/dist/lib/config/i18n.d.ts +0 -32
- package/dist/lib/config/i18n.mjs +0 -31
- package/dist/lib/config/queryConfig.context.d.ts +0 -17
- package/dist/lib/config/queryConfig.context.mjs +0 -26
- package/dist/lib/config/router.context.d.ts +0 -9
- package/dist/lib/config/router.context.mjs +0 -20
- package/dist/lib/react-query.types.d.ts +0 -10
- package/dist/lib/rest/error-handling.d.ts +0 -30
- package/dist/lib/rest/error-handling.mjs +0 -132
- package/dist/lib/rest/rest-client.d.ts +0 -22
- package/dist/lib/rest/rest-client.mjs +0 -62
- package/dist/lib/rest/rest-client.types.d.ts +0 -23
- package/dist/lib/rest/rest-interceptor.d.ts +0 -8
- package/dist/lib/rest/rest-interceptor.mjs +0 -21
- package/dist/lib/rest/rest.utils.d.ts +0 -7
- package/dist/lib/rest/rest.utils.mjs +0 -51
- package/dist/sh.d.ts +0 -2
- package/dist/sh.js +0 -634
- package/src/assets/useCrossTabQueryInvalidation.ts +0 -40
- package/src/assets/useMutationEffects.ts +0 -89
- package/src/generators/templates/acl-check.hbs +0 -29
- package/src/generators/templates/acl.hbs +0 -19
- package/src/generators/templates/app-acl.hbs +0 -17
- package/src/generators/templates/app-rest-client.hbs +0 -7
- package/src/generators/templates/configs.hbs +0 -80
- package/src/generators/templates/endpoints.hbs +0 -44
- package/src/generators/templates/models.hbs +0 -23
- package/src/generators/templates/partials/acl-check-call.hbs +0 -1
- package/src/generators/templates/partials/casl-ability-function.hbs +0 -12
- package/src/generators/templates/partials/casl-ability-query.hbs +0 -1
- package/src/generators/templates/partials/casl-ability-type.hbs +0 -1
- package/src/generators/templates/partials/columns-config.hbs +0 -11
- package/src/generators/templates/partials/endpoint-config.hbs +0 -31
- package/src/generators/templates/partials/endpoint-param-parse.hbs +0 -1
- package/src/generators/templates/partials/endpoint-params.hbs +0 -1
- package/src/generators/templates/partials/import.hbs +0 -1
- package/src/generators/templates/partials/inputs-config.hbs +0 -10
- package/src/generators/templates/partials/model-js-docs.hbs +0 -6
- package/src/generators/templates/partials/query-js-docs.hbs +0 -31
- package/src/generators/templates/partials/query-keys.hbs +0 -11
- package/src/generators/templates/partials/query-use-infinite-query.hbs +0 -21
- package/src/generators/templates/partials/query-use-mutation.hbs +0 -54
- package/src/generators/templates/partials/query-use-query.hbs +0 -16
- package/src/generators/templates/queries.hbs +0 -54
- package/src/generators/templates/query-modules.hbs +0 -9
- package/src/generators/templates/zod-extended.hbs +0 -49
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { n as GenerateFileData, t as GenerateOptions } from "./options-BNqkO_OS.mjs";
|
|
2
|
+
import { OpenAPIV3 } from "openapi-types";
|
|
3
|
+
|
|
4
|
+
//#region src/generators/types/metadata.d.ts
|
|
5
|
+
interface GenerateParams {
|
|
6
|
+
input: string;
|
|
7
|
+
options?: Partial<GenerateOptions>;
|
|
8
|
+
}
|
|
9
|
+
interface TsTypeBase {
|
|
10
|
+
type: string;
|
|
11
|
+
namespace?: string;
|
|
12
|
+
importPath?: string;
|
|
13
|
+
}
|
|
14
|
+
type TsType = TsTypeBase & TsMetaType;
|
|
15
|
+
type TsPropertyBase = {
|
|
16
|
+
name: string;
|
|
17
|
+
isRequired: boolean;
|
|
18
|
+
} & TsTypeBase;
|
|
19
|
+
type TsProperty = TsPropertyBase & TsMetaType;
|
|
20
|
+
interface TsPrimitiveMetaType {
|
|
21
|
+
metaType: "primitive";
|
|
22
|
+
}
|
|
23
|
+
interface TsObjectMetaType {
|
|
24
|
+
metaType: "object";
|
|
25
|
+
objectProperties: TsProperty[];
|
|
26
|
+
isCircular?: boolean;
|
|
27
|
+
}
|
|
28
|
+
interface TsArrayMetaType {
|
|
29
|
+
metaType: "array";
|
|
30
|
+
arrayType: TsType;
|
|
31
|
+
}
|
|
32
|
+
interface TsCompositeMetaType {
|
|
33
|
+
metaType: "composite";
|
|
34
|
+
allOf?: TsType[];
|
|
35
|
+
oneOf?: TsType[];
|
|
36
|
+
anyOf?: TsType[];
|
|
37
|
+
}
|
|
38
|
+
type TsMetaType = TsPrimitiveMetaType | TsObjectMetaType | TsArrayMetaType | TsCompositeMetaType;
|
|
39
|
+
type ModelMetadata = TsType;
|
|
40
|
+
type QueryMetadata = {
|
|
41
|
+
name: string;
|
|
42
|
+
importPath: string;
|
|
43
|
+
namespace?: string;
|
|
44
|
+
isQuery: boolean;
|
|
45
|
+
isMutation: boolean;
|
|
46
|
+
params: TsProperty[];
|
|
47
|
+
response: TsType;
|
|
48
|
+
};
|
|
49
|
+
interface GenerateMetadata {
|
|
50
|
+
openApiDoc: OpenAPIV3.Document;
|
|
51
|
+
models: ModelMetadata[];
|
|
52
|
+
queries: QueryMetadata[];
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
//#region src/generator.d.ts
|
|
56
|
+
declare function getGenerateMetadata({
|
|
57
|
+
input,
|
|
58
|
+
options: genOptions
|
|
59
|
+
}: GenerateParams): Promise<GenerateMetadata>;
|
|
60
|
+
declare function getGenerateFilesData({
|
|
61
|
+
input,
|
|
62
|
+
options: genOptions
|
|
63
|
+
}: GenerateParams): Promise<GenerateFileData[]>;
|
|
64
|
+
//#endregion
|
|
65
|
+
export { getGenerateFilesData, getGenerateMetadata };
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { _ as isMediaTypeAllowed, b as formatTag, c as getSchemaTsMetaType, d as getTagImportPath, f as getQueryName, h as GenerateType, i as getDataFromOpenAPIDoc, l as getTsTypeBase, m as getNamespaceName, o as isMutation, p as DEFAULT_GENERATE_OPTIONS, s as isQuery, t as generateCodeFromOpenAPIDoc, v as isParamMediaTypeAllowed, y as invalidVariableNameCharactersToCamel } from "./generateCodeFromOpenAPIDoc-DZ5swy4U.mjs";
|
|
2
|
+
import SwaggerParser from "@apidevtools/swagger-parser";
|
|
3
|
+
|
|
4
|
+
//#region src/generators/core/getMetadataFromOpenAPIDoc.ts
|
|
5
|
+
async function getMetadataFromOpenAPIDoc(openApiDoc, options) {
|
|
6
|
+
const { resolver, data } = await getDataFromOpenAPIDoc(openApiDoc, options);
|
|
7
|
+
const models = [];
|
|
8
|
+
const queries = [];
|
|
9
|
+
data.forEach(({ endpoints, zodSchemas }, dataTag) => {
|
|
10
|
+
Object.keys(zodSchemas).forEach((zodSchemaName) => {
|
|
11
|
+
const ref = resolver.getRefByZodSchemaName(zodSchemaName);
|
|
12
|
+
const schema = ref ? resolver.getSchemaByRef(ref) : resolver.getSchemaByCompositeZodSchemaName(zodSchemaName);
|
|
13
|
+
const tsTypeInfo = getTsTypeBase({
|
|
14
|
+
zodSchemaName,
|
|
15
|
+
schema,
|
|
16
|
+
resolver
|
|
17
|
+
});
|
|
18
|
+
let tsMetaType;
|
|
19
|
+
if (schema) tsMetaType = getSchemaTsMetaType({
|
|
20
|
+
schema,
|
|
21
|
+
parentTypes: [tsTypeInfo],
|
|
22
|
+
resolver
|
|
23
|
+
});
|
|
24
|
+
models.push({
|
|
25
|
+
...tsTypeInfo,
|
|
26
|
+
metaType: "primitive",
|
|
27
|
+
...tsMetaType
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
endpoints.forEach((endpoint) => {
|
|
31
|
+
const generateType = GenerateType.Queries;
|
|
32
|
+
const tag = formatTag(dataTag);
|
|
33
|
+
queries.push({
|
|
34
|
+
name: getQueryName(endpoint),
|
|
35
|
+
importPath: getTagImportPath({
|
|
36
|
+
type: generateType,
|
|
37
|
+
tag,
|
|
38
|
+
includeTagDir: true,
|
|
39
|
+
options
|
|
40
|
+
}),
|
|
41
|
+
namespace: options.tsNamespaces ? getNamespaceName({
|
|
42
|
+
type: generateType,
|
|
43
|
+
tag,
|
|
44
|
+
options
|
|
45
|
+
}) : void 0,
|
|
46
|
+
isQuery: isQuery(endpoint),
|
|
47
|
+
isMutation: isMutation(endpoint),
|
|
48
|
+
params: getQueryMetadataParams({
|
|
49
|
+
resolver,
|
|
50
|
+
endpoint
|
|
51
|
+
}),
|
|
52
|
+
response: getQueryMetadataResponse({
|
|
53
|
+
resolver,
|
|
54
|
+
endpoint
|
|
55
|
+
})
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
return {
|
|
60
|
+
openApiDoc,
|
|
61
|
+
models,
|
|
62
|
+
queries
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
function getQueryMetadataParams({ resolver, endpoint }) {
|
|
66
|
+
return endpoint.parameters.map((param) => {
|
|
67
|
+
let schema;
|
|
68
|
+
if (param.parameterObject?.schema) schema = resolver.resolveObject(param.parameterObject.schema);
|
|
69
|
+
else if (param.bodyObject) {
|
|
70
|
+
const matchingMediaType = Object.keys(param.bodyObject.content ?? {}).find(isParamMediaTypeAllowed);
|
|
71
|
+
if (matchingMediaType) schema = resolver.resolveObject(param.bodyObject.content?.[matchingMediaType]?.schema);
|
|
72
|
+
}
|
|
73
|
+
const tsTypeInfo = getTsTypeBase({
|
|
74
|
+
zodSchemaName: param.zodSchema,
|
|
75
|
+
schema,
|
|
76
|
+
resolver
|
|
77
|
+
});
|
|
78
|
+
let tsMetaType;
|
|
79
|
+
if (schema) tsMetaType = getSchemaTsMetaType({
|
|
80
|
+
schema,
|
|
81
|
+
parentTypes: [tsTypeInfo],
|
|
82
|
+
resolver
|
|
83
|
+
});
|
|
84
|
+
return {
|
|
85
|
+
name: invalidVariableNameCharactersToCamel(param.name),
|
|
86
|
+
isRequired: param.parameterObject?.required ?? true,
|
|
87
|
+
...tsTypeInfo,
|
|
88
|
+
...tsMetaType,
|
|
89
|
+
paramType: param.type
|
|
90
|
+
};
|
|
91
|
+
}).toSorted((a, b) => {
|
|
92
|
+
if (a.isRequired === b.isRequired) {
|
|
93
|
+
const sortedParamTypes = [
|
|
94
|
+
"Path",
|
|
95
|
+
"Body",
|
|
96
|
+
"Query",
|
|
97
|
+
"Header"
|
|
98
|
+
];
|
|
99
|
+
return sortedParamTypes.indexOf(a.paramType) - sortedParamTypes.indexOf(b.paramType);
|
|
100
|
+
}
|
|
101
|
+
return a.isRequired ? -1 : 1;
|
|
102
|
+
}).map(({ paramType: _paramType, ...queryParam }) => queryParam);
|
|
103
|
+
}
|
|
104
|
+
function getQueryMetadataResponse({ resolver, endpoint }) {
|
|
105
|
+
let schema;
|
|
106
|
+
const matchingMediaType = Object.keys(endpoint.responseObject?.content ?? {}).find(isMediaTypeAllowed);
|
|
107
|
+
if (matchingMediaType) schema = resolver.resolveObject(endpoint.responseObject?.content?.[matchingMediaType]?.schema);
|
|
108
|
+
const tsTypeInfo = getTsTypeBase({
|
|
109
|
+
zodSchemaName: endpoint.response,
|
|
110
|
+
schema,
|
|
111
|
+
resolver
|
|
112
|
+
});
|
|
113
|
+
let tsMetaType;
|
|
114
|
+
if (schema) tsMetaType = getSchemaTsMetaType({
|
|
115
|
+
schema,
|
|
116
|
+
parentTypes: [tsTypeInfo],
|
|
117
|
+
resolver
|
|
118
|
+
});
|
|
119
|
+
return {
|
|
120
|
+
...tsTypeInfo,
|
|
121
|
+
metaType: "primitive",
|
|
122
|
+
...tsMetaType
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
//#endregion
|
|
127
|
+
//#region src/generator.ts
|
|
128
|
+
async function getGenerateMetadata({ input, options: genOptions }) {
|
|
129
|
+
const options = {
|
|
130
|
+
...DEFAULT_GENERATE_OPTIONS,
|
|
131
|
+
...genOptions
|
|
132
|
+
};
|
|
133
|
+
return await getMetadataFromOpenAPIDoc(await SwaggerParser.bundle(input), options);
|
|
134
|
+
}
|
|
135
|
+
async function getGenerateFilesData({ input, options: genOptions }) {
|
|
136
|
+
const options = {
|
|
137
|
+
...DEFAULT_GENERATE_OPTIONS,
|
|
138
|
+
...genOptions
|
|
139
|
+
};
|
|
140
|
+
return generateCodeFromOpenAPIDoc(await SwaggerParser.bundle(input), options);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
//#endregion
|
|
144
|
+
export { getGenerateFilesData, getGenerateMetadata };
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { a as GeneralErrorCodes, i as ErrorHandlerOptions, n as ErrorEntry, o as SharedErrorHandler, r as ErrorHandler, t as ApplicationException } from "./error-handling-CXeVTk1T.mjs";
|
|
2
|
+
import "./options-BNqkO_OS.mjs";
|
|
3
|
+
import { t as OpenAPICodegenConfig } from "./config-BHkVxL6S.mjs";
|
|
4
|
+
import { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, AxiosResponseHeaders, CreateAxiosDefaults } from "axios";
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import "i18next";
|
|
7
|
+
import * as react from "react";
|
|
8
|
+
import { PropsWithChildren, ReactNode } from "react";
|
|
9
|
+
import { InfiniteData, QueryKey, UseInfiniteQueryOptions, UseMutationOptions, UseQueryOptions } from "@tanstack/react-query";
|
|
10
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
11
|
+
|
|
12
|
+
//#region src/lib/rest/rest-interceptor.d.ts
|
|
13
|
+
declare class RestInterceptor<T extends any[]> {
|
|
14
|
+
private applyInterceptor;
|
|
15
|
+
private interceptorIdMap;
|
|
16
|
+
constructor(applyInterceptor: (client: AxiosInstance, ...args: T) => number);
|
|
17
|
+
addInterceptor(client: AxiosInstance, ...args: T): void;
|
|
18
|
+
removeInterceptor(client: AxiosInstance): void;
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region src/lib/rest/rest-client.types.d.ts
|
|
22
|
+
type GeneralErrorCodes$1 = string;
|
|
23
|
+
interface RequestInfo<ZOutput, ECodes extends string> {
|
|
24
|
+
resSchema: z.ZodType<ZOutput>;
|
|
25
|
+
errorHandler?: ErrorHandler<ECodes>;
|
|
26
|
+
}
|
|
27
|
+
interface RequestConfig<IsRawRes extends boolean = false> {
|
|
28
|
+
rawResponse?: IsRawRes;
|
|
29
|
+
}
|
|
30
|
+
type Response<ZOutput, IsRawRes extends boolean = false> = IsRawRes extends true ? AxiosResponse<ZOutput> : ZOutput;
|
|
31
|
+
interface RestClient {
|
|
32
|
+
attachInterceptors<T extends any[]>(interceptors?: RestInterceptor<T>[], ...args: T): void;
|
|
33
|
+
attachInterceptor<T extends any[]>(interceptor: RestInterceptor<T>, ...args: T): void;
|
|
34
|
+
ejectInterceptor<T extends any[]>(interceptor: RestInterceptor<T>): void;
|
|
35
|
+
get<ZOutput, ECodes extends string = GeneralErrorCodes$1, IsRawRes extends boolean = false>(requestInfo: RequestInfo<ZOutput, ECodes>, url: string, requestConfig?: AxiosRequestConfig & RequestConfig<IsRawRes>): Promise<Response<ZOutput, IsRawRes>>;
|
|
36
|
+
post<ZOutput, ECodes extends string = GeneralErrorCodes$1, IsRawRes extends boolean = false>(requestInfo: RequestInfo<ZOutput, ECodes>, url: string, data?: any, requestConfig?: AxiosRequestConfig & RequestConfig<IsRawRes>): Promise<Response<ZOutput, IsRawRes>>;
|
|
37
|
+
patch<ZOutput, ECodes extends string = GeneralErrorCodes$1, IsRawRes extends boolean = false>(requestInfo: RequestInfo<ZOutput, ECodes>, url: string, data?: any, requestConfig?: AxiosRequestConfig & RequestConfig<IsRawRes>): Promise<Response<ZOutput, IsRawRes>>;
|
|
38
|
+
put<ZOutput, ECodes extends string = GeneralErrorCodes$1, IsRawRes extends boolean = false>(requestInfo: RequestInfo<ZOutput, ECodes>, url: string, data?: any, requestConfig?: AxiosRequestConfig & RequestConfig<IsRawRes>): Promise<Response<ZOutput, IsRawRes>>;
|
|
39
|
+
delete<ZOutput, ECodes extends string = GeneralErrorCodes$1, IsRawRes extends boolean = false>(requestInfo: RequestInfo<ZOutput, ECodes>, url: string, data?: any, requestConfig?: AxiosRequestConfig & RequestConfig<IsRawRes>): Promise<Response<ZOutput, IsRawRes>>;
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region src/lib/rest/rest-client.d.ts
|
|
43
|
+
declare class RestClient$1 implements RestClient {
|
|
44
|
+
private readonly client;
|
|
45
|
+
private readonly errorHandler;
|
|
46
|
+
constructor({
|
|
47
|
+
config,
|
|
48
|
+
interceptors,
|
|
49
|
+
errorHandler
|
|
50
|
+
}?: {
|
|
51
|
+
config?: CreateAxiosDefaults;
|
|
52
|
+
interceptors?: RestInterceptor<any[]>[];
|
|
53
|
+
errorHandler?: ErrorHandler<any>;
|
|
54
|
+
});
|
|
55
|
+
attachInterceptors<T extends any[]>(interceptors?: RestInterceptor<T>[], ...args: T): void;
|
|
56
|
+
attachInterceptor<T extends any[]>(interceptor: RestInterceptor<T>, ...args: T): void;
|
|
57
|
+
ejectInterceptor<T extends any[]>(interceptor: RestInterceptor<T>): void;
|
|
58
|
+
get<ZOutput, ECodes extends string = GeneralErrorCodes, IsRawRes extends boolean = false>(requestInfo: RequestInfo<ZOutput, ECodes>, url: string, requestConfig?: AxiosRequestConfig & RequestConfig<IsRawRes>): Promise<Response<ZOutput, IsRawRes>>;
|
|
59
|
+
post<ZOutput, ECodes extends string = GeneralErrorCodes, IsRawRes extends boolean = false>(requestInfo: RequestInfo<ZOutput, ECodes>, url: string, data?: any, requestConfig?: AxiosRequestConfig & RequestConfig<IsRawRes>): Promise<Response<ZOutput, IsRawRes>>;
|
|
60
|
+
patch<ZOutput, ECodes extends string = GeneralErrorCodes, IsRawRes extends boolean = false>(requestInfo: RequestInfo<ZOutput, ECodes>, url: string, data?: any, requestConfig?: AxiosRequestConfig & RequestConfig<IsRawRes>): Promise<Response<ZOutput, IsRawRes>>;
|
|
61
|
+
put<ZOutput, ECodes extends string = GeneralErrorCodes, IsRawRes extends boolean = false>(requestInfo: RequestInfo<ZOutput, ECodes>, url: string, data?: any, requestConfig?: AxiosRequestConfig & RequestConfig<IsRawRes>): Promise<Response<ZOutput, IsRawRes>>;
|
|
62
|
+
delete<ZOutput, ECodes extends string = GeneralErrorCodes, IsRawRes extends boolean = false>(requestInfo: RequestInfo<ZOutput, ECodes>, url: string, data?: any, requestConfig?: AxiosRequestConfig & RequestConfig<IsRawRes>): Promise<Response<ZOutput, IsRawRes>>;
|
|
63
|
+
private makeRequest;
|
|
64
|
+
}
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region src/lib/rest/rest.utils.d.ts
|
|
67
|
+
declare namespace RestUtils {
|
|
68
|
+
const extractServerResponseCode: (e: unknown) => string | null;
|
|
69
|
+
const doesServerErrorMessageContain: (e: AxiosError, text: string) => boolean;
|
|
70
|
+
const extractServerErrorMessage: (e: unknown) => string | null;
|
|
71
|
+
const extractContentDispositionFilename: (headers: AxiosResponseHeaders) => string | undefined;
|
|
72
|
+
}
|
|
73
|
+
//#endregion
|
|
74
|
+
//#region src/lib/react-query.types.d.ts
|
|
75
|
+
type Function = (...args: any) => any;
|
|
76
|
+
type IfAny<T, Y, N> = 0 extends 1 & T ? Y : N;
|
|
77
|
+
type IsAny<T> = IfAny<T, true, never>;
|
|
78
|
+
type IsUnknown<T, Y, N = T> = IsAny<T> extends never ? (unknown extends T ? Y : N) : N;
|
|
79
|
+
type AppQueryOptions<TFunction extends Function, TData = Awaited<ReturnType<TFunction>>, TErrorCodes = GeneralErrorCodes> = Omit<UseQueryOptions<Awaited<ReturnType<TFunction>>, ApplicationException<TErrorCodes>, IsUnknown<TData, Awaited<ReturnType<TFunction>>>>, "queryKey" | "queryFn">;
|
|
80
|
+
type AppMutationOptions<TFunction extends Function, TVariables = void, TData = Awaited<ReturnType<TFunction>>, TErrorCodes = GeneralErrorCodes> = Omit<UseMutationOptions<TData, ApplicationException<TErrorCodes>, TVariables>, "mutationKey" | "mutationFn">;
|
|
81
|
+
type AppInfiniteQueryOptions<TFunction extends Function, TData = InfiniteData<Awaited<ReturnType<TFunction>>>, TErrorCodes = GeneralErrorCodes, TQueryKey extends QueryKey = QueryKey, TPageParam = number> = Omit<UseInfiniteQueryOptions<Awaited<ReturnType<TFunction>>, ApplicationException<TErrorCodes>, IsUnknown<TData, InfiniteData<Awaited<ReturnType<TFunction>>>>, TQueryKey, TPageParam>, "queryKey" | "queryFn" | "initialPageParam" | "getNextPageParam">;
|
|
82
|
+
//#endregion
|
|
83
|
+
//#region src/lib/config/queryConfig.context.d.ts
|
|
84
|
+
type QueryModule = string | number | symbol;
|
|
85
|
+
type InvalidationMapFunc<TData = any, TVariables = any> = (data: TData, variables: TVariables) => QueryKey[];
|
|
86
|
+
type InvalidationMap<TQueryModule extends QueryModule = QueryModule, TData = any, TVariables = any> = Partial<Record<TQueryModule, InvalidationMapFunc<TData, TVariables>>>;
|
|
87
|
+
declare namespace OpenApiQueryConfig {
|
|
88
|
+
export interface Type<TQueryModule extends QueryModule = QueryModule> {
|
|
89
|
+
preferUpdate?: boolean;
|
|
90
|
+
invalidateCurrentModule?: boolean;
|
|
91
|
+
invalidationMap?: InvalidationMap<TQueryModule>;
|
|
92
|
+
crossTabInvalidation?: boolean;
|
|
93
|
+
onError?: (error: unknown) => void;
|
|
94
|
+
}
|
|
95
|
+
type ProviderProps<TQueryModule extends QueryModule = QueryModule> = Type<TQueryModule>;
|
|
96
|
+
export function Provider<TQueryModule extends QueryModule = QueryModule>({
|
|
97
|
+
preferUpdate,
|
|
98
|
+
invalidateCurrentModule,
|
|
99
|
+
invalidationMap,
|
|
100
|
+
crossTabInvalidation,
|
|
101
|
+
onError,
|
|
102
|
+
children
|
|
103
|
+
}: PropsWithChildren<ProviderProps<TQueryModule>>): react_jsx_runtime0.JSX.Element;
|
|
104
|
+
export const useConfig: <TQueryModule extends QueryModule = QueryModule>() => Type<TQueryModule>;
|
|
105
|
+
export {};
|
|
106
|
+
}
|
|
107
|
+
//#endregion
|
|
108
|
+
//#region src/lib/react-query/useMutationEffects.d.ts
|
|
109
|
+
interface MutationEffectsOptions<TQueryModule extends QueryModule = QueryModule> {
|
|
110
|
+
invalidateCurrentModule?: boolean;
|
|
111
|
+
crossTabInvalidation?: boolean;
|
|
112
|
+
invalidationMap?: InvalidationMap<TQueryModule>;
|
|
113
|
+
invalidateModules?: TQueryModule[];
|
|
114
|
+
invalidateKeys?: QueryKey[];
|
|
115
|
+
preferUpdate?: boolean;
|
|
116
|
+
}
|
|
117
|
+
interface UseMutationEffectsProps<TQueryModule extends QueryModule = QueryModule> {
|
|
118
|
+
currentModule: TQueryModule;
|
|
119
|
+
}
|
|
120
|
+
declare function useMutationEffects<TQueryModule extends QueryModule = QueryModule>({
|
|
121
|
+
currentModule
|
|
122
|
+
}: UseMutationEffectsProps<TQueryModule>): {
|
|
123
|
+
runMutationEffects: <TData, TVariables>(data: TData, variables: TVariables, options?: MutationEffectsOptions<TQueryModule>, updateKeys?: QueryKey[]) => Promise<void>;
|
|
124
|
+
};
|
|
125
|
+
//#endregion
|
|
126
|
+
//#region src/lib/config/router.context.d.ts
|
|
127
|
+
interface RouterProviderProps {
|
|
128
|
+
replace: (url: string) => void;
|
|
129
|
+
}
|
|
130
|
+
declare namespace OpenApiRouter {
|
|
131
|
+
const Provider: ({
|
|
132
|
+
children,
|
|
133
|
+
replace
|
|
134
|
+
}: PropsWithChildren<RouterProviderProps>) => react_jsx_runtime0.JSX.Element;
|
|
135
|
+
const useRouter: () => RouterProviderProps;
|
|
136
|
+
}
|
|
137
|
+
//#endregion
|
|
138
|
+
//#region src/lib/config/workspace.context.d.ts
|
|
139
|
+
type WorkspaceValues = Record<string, unknown>;
|
|
140
|
+
interface WorkspaceProviderProps {
|
|
141
|
+
values?: WorkspaceValues;
|
|
142
|
+
}
|
|
143
|
+
declare namespace OpenApiWorkspaceContext {
|
|
144
|
+
const Provider: ({
|
|
145
|
+
values,
|
|
146
|
+
children
|
|
147
|
+
}: PropsWithChildren<WorkspaceProviderProps>) => react_jsx_runtime0.JSX.Element;
|
|
148
|
+
const useContext: () => WorkspaceValues;
|
|
149
|
+
const resolveParam: <T>(context: WorkspaceValues, name: string, value: T | null | undefined) => T;
|
|
150
|
+
}
|
|
151
|
+
//#endregion
|
|
152
|
+
//#region src/lib/config/i18n.d.ts
|
|
153
|
+
declare const ns = "openapi";
|
|
154
|
+
declare const resources: {
|
|
155
|
+
readonly en: {
|
|
156
|
+
readonly openapi: {
|
|
157
|
+
openapi: {
|
|
158
|
+
sharedErrors: {
|
|
159
|
+
dataValidation: string;
|
|
160
|
+
internalError: string;
|
|
161
|
+
networkError: string;
|
|
162
|
+
canceledError: string;
|
|
163
|
+
unknownError: string;
|
|
164
|
+
unknownErrorWithCode: string;
|
|
165
|
+
};
|
|
166
|
+
};
|
|
167
|
+
};
|
|
168
|
+
};
|
|
169
|
+
readonly sl: {
|
|
170
|
+
readonly openapi: {
|
|
171
|
+
openapi: {
|
|
172
|
+
sharedErrors: {
|
|
173
|
+
dataValidation: string;
|
|
174
|
+
internalError: string;
|
|
175
|
+
networkError: string;
|
|
176
|
+
canceledError: string;
|
|
177
|
+
unknownError: string;
|
|
178
|
+
unknownErrorWithCode: string;
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
};
|
|
184
|
+
//#endregion
|
|
185
|
+
//#region src/lib/auth/auth.context.d.ts
|
|
186
|
+
declare namespace AuthContext {
|
|
187
|
+
export interface Routes {
|
|
188
|
+
authenticated?: string;
|
|
189
|
+
unauthenticated?: string;
|
|
190
|
+
}
|
|
191
|
+
interface Type<TUser = unknown> {
|
|
192
|
+
isAuthenticated: boolean;
|
|
193
|
+
isInitializing: boolean;
|
|
194
|
+
logout: () => void;
|
|
195
|
+
updateTokens?: (accessToken: string | null, refreshToken?: string | null) => void;
|
|
196
|
+
accessToken?: string | null;
|
|
197
|
+
user?: TUser | null;
|
|
198
|
+
userPromise?: () => Promise<TUser | null>;
|
|
199
|
+
routes?: Routes;
|
|
200
|
+
loadingState?: ReactNode;
|
|
201
|
+
}
|
|
202
|
+
type ProviderProps<TUser = unknown> = Type<TUser>;
|
|
203
|
+
export const Provider: <TUser>({
|
|
204
|
+
isAuthenticated,
|
|
205
|
+
isInitializing,
|
|
206
|
+
logout,
|
|
207
|
+
updateTokens,
|
|
208
|
+
accessToken,
|
|
209
|
+
user,
|
|
210
|
+
userPromise,
|
|
211
|
+
routes,
|
|
212
|
+
loadingState,
|
|
213
|
+
children
|
|
214
|
+
}: PropsWithChildren<ProviderProps<TUser>>) => react_jsx_runtime0.JSX.Element;
|
|
215
|
+
export const useAuth: <TUser>() => Type<TUser>;
|
|
216
|
+
export {};
|
|
217
|
+
}
|
|
218
|
+
//#endregion
|
|
219
|
+
//#region src/lib/auth/AuthGuard.d.ts
|
|
220
|
+
interface AuthGuardProps {
|
|
221
|
+
type: "public-only" | "private";
|
|
222
|
+
redirectTo?: string;
|
|
223
|
+
}
|
|
224
|
+
declare const AuthGuard: ({
|
|
225
|
+
type,
|
|
226
|
+
redirectTo,
|
|
227
|
+
children
|
|
228
|
+
}: PropsWithChildren<AuthGuardProps>) => react.ReactNode;
|
|
229
|
+
//#endregion
|
|
230
|
+
export { type AppInfiniteQueryOptions, type AppMutationOptions, type AppQueryOptions, ApplicationException, AuthContext, AuthGuard, type AuthGuardProps, type ErrorEntry, ErrorHandler, type ErrorHandlerOptions, type GeneralErrorCodes, type RestClient as IRestClient, type InvalidationMap, type InvalidationMapFunc, type MutationEffectsOptions, OpenAPICodegenConfig, OpenApiQueryConfig, OpenApiRouter, OpenApiWorkspaceContext, type QueryModule, type RequestConfig, type RequestInfo, type Response, RestClient$1 as RestClient, RestInterceptor, RestUtils, SharedErrorHandler, ns, resources, useMutationEffects };
|