mobx-tanstack-query-api 0.0.38 → 0.0.39
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/codegen/index.d.ts +1 -0
- package/codegen/index.d.ts.map +1 -1
- package/codegen/index.js +5 -2
- package/codegen/templates/new-request-info.tmpl.d.ts +5 -0
- package/codegen/templates/new-request-info.tmpl.d.ts.map +1 -1
- package/codegen/templates/new-request-info.tmpl.js +21 -28
- package/codegen/templates/request-info-per-file.tmpl.d.ts.map +1 -1
- package/codegen/templates/request-info-per-file.tmpl.js +12 -1
- package/package.json +1 -1
package/codegen/index.d.ts
CHANGED
package/codegen/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAc9D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,EAAE,YAAY,CAAC;IAChB,qBAAqB,EAAE,CAAC,aAAa,EAAE,SAAS,KAAK,MAAM,CAAC;IAC5D,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC;AAEvC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,qBAAqB,CAAC,EAAE,CACtB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,gBAAgB,KACpB,MAAM,CAAC;IAEZ;;OAEG;IACH,OAAO,CAAC,EACJ,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,GAC9B,cAAc,GACd,gBAAgB,MAAM,EAAE,GACxB,KAAK,GACL,OAAO,MAAM,EAAE,CAAC;IAEpB;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC;IAEpD;;;;;;;;OAQG;IACH,yBAAyB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE7C,WAAW,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC;IAC3C,QAAQ,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC;IACxC,UAAU,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC;IAE1C,eAAe,CAAC,EAAE,CAChB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,KACb;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,cAAc,CAAC,EAAE,CACf,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,KACb;QACH,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,cAAc,CAAC,EAAE,SAAS,CAAC;IAE3B,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAE/B,UAAU,CAAC,EAAE;QACX,yBAAyB,CAAC,EAAE,MAAM,CAAC;KACpC,CAAC;CACH;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC,EAC5E,gBAAgB,CACjB,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,QAAQ,sBAAsB,GAAG,sBAAsB,EAAE,KACxD,OAAO,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAc9D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,EAAE,YAAY,CAAC;IAChB,qBAAqB,EAAE,CAAC,aAAa,EAAE,SAAS,KAAK,MAAM,CAAC;IAC5D,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC;AAEvC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,qBAAqB,CAAC,EAAE,CACtB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,gBAAgB,KACpB,MAAM,CAAC;IAEZ;;OAEG;IACH,OAAO,CAAC,EACJ,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,GAC9B,cAAc,GACd,gBAAgB,MAAM,EAAE,GACxB,KAAK,GACL,OAAO,MAAM,EAAE,CAAC;IAEpB;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC;IAEpD;;;;;;;;OAQG;IACH,yBAAyB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE7C,WAAW,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC;IAC3C,QAAQ,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC;IACxC,UAAU,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC;IAE1C,eAAe,CAAC,EAAE,CAChB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,KACb;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,cAAc,CAAC,EAAE,CACf,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,KACb;QACH,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,cAAc,CAAC,EAAE,SAAS,CAAC;IAE3B,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAE/B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;IAE7C,UAAU,CAAC,EAAE;QACX,yBAAyB,CAAC,EAAE,MAAM,CAAC;KACpC,CAAC;CACH;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC,EAC5E,gBAAgB,CACjB,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,QAAQ,sBAAsB,GAAG,sBAAsB,EAAE,KACxD,OAAO,CAAC,IAAI,CAsXd,CAAC"}
|
package/codegen/index.js
CHANGED
|
@@ -48,7 +48,7 @@ export const generateApi = async (params) => {
|
|
|
48
48
|
disableStrictSSL: false,
|
|
49
49
|
singleHttpClient: true,
|
|
50
50
|
extractRequestBody: true,
|
|
51
|
-
extractRequestParams:
|
|
51
|
+
extractRequestParams: false,
|
|
52
52
|
extractResponseBody: true,
|
|
53
53
|
extractResponseError: true,
|
|
54
54
|
generateResponses: true,
|
|
@@ -113,9 +113,12 @@ export const generateApi = async (params) => {
|
|
|
113
113
|
const codegenFs = codegenProcess.fileSystem;
|
|
114
114
|
codegenFs.cleanDir(params.output);
|
|
115
115
|
codegenFs.createDir(params.output);
|
|
116
|
-
|
|
116
|
+
let allRoutes = Object.values(generated.configuration.routes)
|
|
117
117
|
.flat()
|
|
118
118
|
.flatMap((routeGroup) => 'routes' in routeGroup ? routeGroup.routes : routeGroup);
|
|
119
|
+
allRoutes = params.filterRoutes
|
|
120
|
+
? allRoutes.filter(params.filterRoutes)
|
|
121
|
+
: allRoutes;
|
|
119
122
|
const reservedDataContractNamesMap = new Map();
|
|
120
123
|
const collectedExportFiles = [];
|
|
121
124
|
if (params.groupBy == null) {
|
|
@@ -9,6 +9,11 @@ export interface NewRequestInfoTmplParams {
|
|
|
9
9
|
}
|
|
10
10
|
export declare const newRequestInfoTmpl: ({ route, apiParams, importFileParams, utils, }: NewRequestInfoTmplParams) => {
|
|
11
11
|
reservedDataContractNames: string[];
|
|
12
|
+
localModelTypes: {
|
|
13
|
+
typeIdentifier: string;
|
|
14
|
+
name: Capitalize<string>;
|
|
15
|
+
content: string;
|
|
16
|
+
}[];
|
|
12
17
|
content: string;
|
|
13
18
|
};
|
|
14
19
|
//# sourceMappingURL=new-request-info.tmpl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-request-info.tmpl.d.ts","sourceRoot":"","sources":["../../../src/codegen/templates/new-request-info.tmpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,SAAS,CAAC;IACzB,SAAS,EAAE,sBAAsB,CAAC;IAClC,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAiBD,eAAO,MAAM,kBAAkB,GAAI,gDAKhC,wBAAwB
|
|
1
|
+
{"version":3,"file":"new-request-info.tmpl.d.ts","sourceRoot":"","sources":["../../../src/codegen/templates/new-request-info.tmpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,SAAS,CAAC;IACzB,SAAS,EAAE,sBAAsB,CAAC;IAClC,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAiBD,eAAO,MAAM,kBAAkB,GAAI,gDAKhC,wBAAwB;;;;;;;;CAiK1B,CAAC"}
|
|
@@ -24,11 +24,12 @@ export const newRequestInfoTmpl = ({ route, apiParams, importFileParams, utils,
|
|
|
24
24
|
const pathParams = _.values(parameters);
|
|
25
25
|
const pathParamsNames = _.map(pathParams, 'name');
|
|
26
26
|
const requestConfigParam = {
|
|
27
|
-
name: '
|
|
27
|
+
name: 'requestParams',
|
|
28
28
|
optional: true,
|
|
29
29
|
type: 'RequestParams',
|
|
30
30
|
defaultValue: '{}',
|
|
31
31
|
};
|
|
32
|
+
const inputParams = [...pathParams, query, requestConfigParam].filter(Boolean);
|
|
32
33
|
const getArgs = ({ withPayload, withRequestConfigParam, }) => {
|
|
33
34
|
return _.sortBy(_.compact([
|
|
34
35
|
...(requestParams
|
|
@@ -47,15 +48,8 @@ export const newRequestInfoTmpl = ({ route, apiParams, importFileParams, utils,
|
|
|
47
48
|
]), [(o) => o.optional]);
|
|
48
49
|
};
|
|
49
50
|
const tags = (raw.tags || []).filter(Boolean);
|
|
50
|
-
const allArgs = getArgs({
|
|
51
|
-
withPayload: true,
|
|
52
|
-
withRequestConfigParam: true,
|
|
53
|
-
});
|
|
54
|
-
const requiredArgs = allArgs.filter((it) => !it.optional);
|
|
55
51
|
const requestOutputDataTypes = positiveResponseTypes.map((it) => it.type);
|
|
56
52
|
const requestOutputErrorType = routeResponse.errorType;
|
|
57
|
-
let requestInputCombinedType;
|
|
58
|
-
const requestInfoFnArgNames = allArgs.map(({ name }) => name);
|
|
59
53
|
const pathParamsToInline = path.split('/').slice(1);
|
|
60
54
|
let lastDynamicStructPos = 0;
|
|
61
55
|
const queryParamStruct = query == null
|
|
@@ -69,22 +63,6 @@ export const newRequestInfoTmpl = ({ route, apiParams, importFileParams, utils,
|
|
|
69
63
|
if (queryParamStruct && !lastDynamicStructPos) {
|
|
70
64
|
lastDynamicStructPos++;
|
|
71
65
|
}
|
|
72
|
-
let requestInputType = `{
|
|
73
|
-
${allArgs
|
|
74
|
-
.map(({ name, optional, type, defaultValue }) => {
|
|
75
|
-
const isCombinedType = name.includes('...') || name === 'query';
|
|
76
|
-
if (isCombinedType) {
|
|
77
|
-
requestInputCombinedType = { name, optional, type, defaultValue };
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
return `${name}${optional ? '?' : ''}:${type}`;
|
|
81
|
-
})
|
|
82
|
-
.filter(Boolean)
|
|
83
|
-
.join(', ')}
|
|
84
|
-
}`;
|
|
85
|
-
if (requestInputCombinedType) {
|
|
86
|
-
requestInputType = `${requestInputCombinedType.type} & ${requestInputType}`;
|
|
87
|
-
}
|
|
88
66
|
const requestInfoMeta = apiParams.getEndpointMeta?.(route, utils);
|
|
89
67
|
const requestMeta = apiParams.getRequestMeta?.(route, utils);
|
|
90
68
|
const resultPath = (apiParams.requestPathPrefix ?? '') +
|
|
@@ -100,17 +78,32 @@ export const newRequestInfoTmpl = ({ route, apiParams, importFileParams, utils,
|
|
|
100
78
|
}).map((it) => it.type),
|
|
101
79
|
]);
|
|
102
80
|
const pathDeclaration = resultPath.replaceAll('$', '');
|
|
81
|
+
const requestInputTypeDc = {
|
|
82
|
+
typeIdentifier: 'type',
|
|
83
|
+
name: _.upperFirst(_.camelCase(`${route.routeName.usage}Input`)),
|
|
84
|
+
content: `{
|
|
85
|
+
${inputParams
|
|
86
|
+
.map(({ name, optional, type }) => {
|
|
87
|
+
return `${name}${optional ? '?' : ''}:${type}`;
|
|
88
|
+
})
|
|
89
|
+
.filter(Boolean)
|
|
90
|
+
.join(', ')}
|
|
91
|
+
}`,
|
|
92
|
+
};
|
|
103
93
|
return {
|
|
104
94
|
reservedDataContractNames,
|
|
95
|
+
localModelTypes: [requestInputTypeDc],
|
|
105
96
|
content: `
|
|
106
97
|
new ${importFileParams.endpoint.exportName}<
|
|
107
98
|
${requestOutputDataTypes.join('|') || 'any'},
|
|
108
99
|
${requestOutputErrorType},
|
|
109
|
-
${
|
|
100
|
+
${requestInputTypeDc.name},
|
|
110
101
|
${requestInfoMeta?.typeName ?? 'any'}
|
|
111
102
|
>(
|
|
112
103
|
{
|
|
113
|
-
params: ({
|
|
104
|
+
params: ({
|
|
105
|
+
${inputParams.map((it) => it.name)}
|
|
106
|
+
}) => ({
|
|
114
107
|
path: \`${resultPath}\`,
|
|
115
108
|
method: '${_.upperCase(method)}',
|
|
116
109
|
${requestMeta?.tmplData ? `meta: ${requestMeta.tmplData},` : ''}
|
|
@@ -119,9 +112,9 @@ new ${importFileParams.endpoint.exportName}<
|
|
|
119
112
|
${security ? 'secure: true,' : ''}
|
|
120
113
|
${bodyContentType ? `contentType: ${bodyContentType},` : ''}
|
|
121
114
|
${responseFormat ? `format: ${responseFormat},` : ''}
|
|
122
|
-
...${
|
|
115
|
+
...${requestConfigParam.name},
|
|
123
116
|
}),
|
|
124
|
-
requiredParams: [${
|
|
117
|
+
requiredParams: [${inputParams.filter((it) => !it.optional).map((it) => `"${it.name}"`)}],
|
|
125
118
|
operationId: "${raw.operationId}",
|
|
126
119
|
pathDeclaration: "${pathDeclaration}",
|
|
127
120
|
tags: [${tags.map((tag) => `"${tag}"`)}],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-info-per-file.tmpl.d.ts","sourceRoot":"","sources":["../../../src/codegen/templates/request-info-per-file.tmpl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAOrB,MAAM,WAAW,4BAA6B,SAAQ,SAAS;IAC7D,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,SAAS,CAAC;IACzB,SAAS,EAAE,sBAAsB,CAAC;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,KAAK,EAAE,gBAAgB,CAAC;IACxB,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAED,eAAO,MAAM,sBAAsB,GAAU,2GAQ1C,4BAA4B;;;
|
|
1
|
+
{"version":3,"file":"request-info-per-file.tmpl.d.ts","sourceRoot":"","sources":["../../../src/codegen/templates/request-info-per-file.tmpl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAOrB,MAAM,WAAW,4BAA6B,SAAQ,SAAS;IAC7D,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,SAAS,CAAC;IACzB,SAAS,EAAE,sBAAsB,CAAC;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,KAAK,EAAE,gBAAgB,CAAC;IACxB,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAED,eAAO,MAAM,sBAAsB,GAAU,2GAQ1C,4BAA4B;;;EAgG9B,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { newRequestInfoTmpl } from './new-request-info.tmpl.js';
|
|
|
4
4
|
import { requestInfoJSDocTmpl } from './request-info-jsdoc.tmpl.js';
|
|
5
5
|
export const requestInfoPerFileTmpl = async ({ route, configuration, apiParams, formatTSContent, importFileParams, utils, relativePathDataContracts, }) => {
|
|
6
6
|
const { _ } = utils;
|
|
7
|
-
const { content: requestInfoInstanceContent, reservedDataContractNames } = newRequestInfoTmpl({
|
|
7
|
+
const { content: requestInfoInstanceContent, reservedDataContractNames, localModelTypes, } = newRequestInfoTmpl({
|
|
8
8
|
route,
|
|
9
9
|
configuration,
|
|
10
10
|
apiParams,
|
|
@@ -48,6 +48,17 @@ export const requestInfoPerFileTmpl = async ({ route, configuration, apiParams,
|
|
|
48
48
|
})))
|
|
49
49
|
.filter(Boolean)
|
|
50
50
|
.join('\n\n')}
|
|
51
|
+
|
|
52
|
+
${(await Promise.all(localModelTypes.map(async (modelType) => {
|
|
53
|
+
const contractType = await dataContractTmpl({
|
|
54
|
+
configuration,
|
|
55
|
+
contract: modelType,
|
|
56
|
+
addExportKeyword: true,
|
|
57
|
+
});
|
|
58
|
+
return contractType;
|
|
59
|
+
})))
|
|
60
|
+
.filter(Boolean)
|
|
61
|
+
.join('\n\n')}
|
|
51
62
|
|
|
52
63
|
${requestInfoJSDocTmpl({
|
|
53
64
|
route,
|