@sebspark/openapi-client 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +38 -10
- package/dist/index.mjs +34 -6
- package/package.json +6 -3
package/dist/index.js
CHANGED
|
@@ -29,16 +29,17 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
29
29
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
30
|
|
|
31
31
|
// src/index.ts
|
|
32
|
-
var
|
|
33
|
-
__export(
|
|
32
|
+
var index_exports = {};
|
|
33
|
+
__export(index_exports, {
|
|
34
34
|
TypedClient: () => TypedClient
|
|
35
35
|
});
|
|
36
|
-
module.exports = __toCommonJS(
|
|
36
|
+
module.exports = __toCommonJS(index_exports);
|
|
37
37
|
|
|
38
38
|
// src/client.ts
|
|
39
39
|
var import_openapi_core = require("@sebspark/openapi-core");
|
|
40
40
|
var import_retry = require("@sebspark/retry");
|
|
41
41
|
var import_axios = __toESM(require("axios"));
|
|
42
|
+
var import_axios_auth_refresh = __toESM(require("axios-auth-refresh"));
|
|
42
43
|
|
|
43
44
|
// src/paramsSerializer.ts
|
|
44
45
|
var encodeParam = (param) => encodeURIComponent(param);
|
|
@@ -92,6 +93,34 @@ var paramsSerializer = (format) => (params) => {
|
|
|
92
93
|
|
|
93
94
|
// src/client.ts
|
|
94
95
|
var TypedClient = (baseURL, globalOptions, logger) => {
|
|
96
|
+
if (globalOptions?.authorizationTokenGenerator) {
|
|
97
|
+
import_axios.default.interceptors.request.use(async (request) => {
|
|
98
|
+
if (globalOptions?.authorizationTokenGenerator) {
|
|
99
|
+
const authorizationTokenHeaders = await globalOptions.authorizationTokenGenerator(request.url);
|
|
100
|
+
if (authorizationTokenHeaders) {
|
|
101
|
+
for (const [key, value] of Object.entries(
|
|
102
|
+
authorizationTokenHeaders
|
|
103
|
+
)) {
|
|
104
|
+
request.headers.set(key, value);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return request;
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
if (globalOptions?.authorizationTokenRefresh) {
|
|
112
|
+
const refreshAuthLogic = async (failedRequest) => {
|
|
113
|
+
if (!import_axios.default.isAxiosError(failedRequest)) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
const axiosError = failedRequest;
|
|
117
|
+
const url = `${axiosError.config?.baseURL}${axiosError.config?.url}`;
|
|
118
|
+
if (globalOptions?.authorizationTokenRefresh && url) {
|
|
119
|
+
await globalOptions?.authorizationTokenRefresh(axiosError.request.url);
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
(0, import_axios_auth_refresh.default)(import_axios.default, refreshAuthLogic);
|
|
123
|
+
}
|
|
95
124
|
if (logger) {
|
|
96
125
|
import_axios.default.interceptors.request.use((request) => {
|
|
97
126
|
const requestObject = {
|
|
@@ -122,10 +151,9 @@ var TypedClient = (baseURL, globalOptions, logger) => {
|
|
|
122
151
|
return client;
|
|
123
152
|
};
|
|
124
153
|
var callServer = async (args) => {
|
|
125
|
-
var _a, _b;
|
|
126
154
|
try {
|
|
127
155
|
const serializer = paramsSerializer(args.arrayFormat);
|
|
128
|
-
const body =
|
|
156
|
+
const body = args.method?.toLowerCase() === "get" || args.method?.toLowerCase() === "delete" ? void 0 : args.body;
|
|
129
157
|
const { headers, data } = await (0, import_retry.retry)(
|
|
130
158
|
() => import_axios.default.request({
|
|
131
159
|
baseURL: args.baseUrl,
|
|
@@ -159,20 +187,20 @@ var mergeArgs = (baseUrl, url, method, requestArgs, extras, global) => {
|
|
|
159
187
|
headers,
|
|
160
188
|
body,
|
|
161
189
|
retry: retry2,
|
|
162
|
-
arrayFormat: global
|
|
163
|
-
httpsAgent: extras
|
|
164
|
-
httpAgent: extras
|
|
190
|
+
arrayFormat: global?.arrayFormat,
|
|
191
|
+
httpsAgent: extras?.httpsAgent,
|
|
192
|
+
httpAgent: extras?.httpAgent
|
|
165
193
|
};
|
|
166
194
|
return merged;
|
|
167
195
|
};
|
|
168
|
-
var merge = (prop, ...args) => Object.assign({}, ...args.map((a) =>
|
|
196
|
+
var merge = (prop, ...args) => Object.assign({}, ...args.map((a) => a?.[prop] || {}));
|
|
169
197
|
var setParams = (url, params = {}) => Object.entries(params).reduce(
|
|
170
198
|
(url2, [key, val]) => url2.replace(new RegExp(`/:${key}(?!\\w|\\d)`, "g"), `/${val}`),
|
|
171
199
|
url
|
|
172
200
|
);
|
|
173
201
|
|
|
174
202
|
// src/index.ts
|
|
175
|
-
__reExport(
|
|
203
|
+
__reExport(index_exports, require("@sebspark/retry"), module.exports);
|
|
176
204
|
// Annotate the CommonJS export names for ESM import in node:
|
|
177
205
|
0 && (module.exports = {
|
|
178
206
|
TypedClient,
|
package/dist/index.mjs
CHANGED
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
} from "@sebspark/openapi-core";
|
|
5
5
|
import { retry } from "@sebspark/retry";
|
|
6
6
|
import axios from "axios";
|
|
7
|
+
import createAuthRefreshInterceptor from "axios-auth-refresh";
|
|
7
8
|
|
|
8
9
|
// src/paramsSerializer.ts
|
|
9
10
|
var encodeParam = (param) => encodeURIComponent(param);
|
|
@@ -57,6 +58,34 @@ var paramsSerializer = (format) => (params) => {
|
|
|
57
58
|
|
|
58
59
|
// src/client.ts
|
|
59
60
|
var TypedClient = (baseURL, globalOptions, logger) => {
|
|
61
|
+
if (globalOptions?.authorizationTokenGenerator) {
|
|
62
|
+
axios.interceptors.request.use(async (request) => {
|
|
63
|
+
if (globalOptions?.authorizationTokenGenerator) {
|
|
64
|
+
const authorizationTokenHeaders = await globalOptions.authorizationTokenGenerator(request.url);
|
|
65
|
+
if (authorizationTokenHeaders) {
|
|
66
|
+
for (const [key, value] of Object.entries(
|
|
67
|
+
authorizationTokenHeaders
|
|
68
|
+
)) {
|
|
69
|
+
request.headers.set(key, value);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return request;
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
if (globalOptions?.authorizationTokenRefresh) {
|
|
77
|
+
const refreshAuthLogic = async (failedRequest) => {
|
|
78
|
+
if (!axios.isAxiosError(failedRequest)) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const axiosError = failedRequest;
|
|
82
|
+
const url = `${axiosError.config?.baseURL}${axiosError.config?.url}`;
|
|
83
|
+
if (globalOptions?.authorizationTokenRefresh && url) {
|
|
84
|
+
await globalOptions?.authorizationTokenRefresh(axiosError.request.url);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
createAuthRefreshInterceptor(axios, refreshAuthLogic);
|
|
88
|
+
}
|
|
60
89
|
if (logger) {
|
|
61
90
|
axios.interceptors.request.use((request) => {
|
|
62
91
|
const requestObject = {
|
|
@@ -87,10 +116,9 @@ var TypedClient = (baseURL, globalOptions, logger) => {
|
|
|
87
116
|
return client;
|
|
88
117
|
};
|
|
89
118
|
var callServer = async (args) => {
|
|
90
|
-
var _a, _b;
|
|
91
119
|
try {
|
|
92
120
|
const serializer = paramsSerializer(args.arrayFormat);
|
|
93
|
-
const body =
|
|
121
|
+
const body = args.method?.toLowerCase() === "get" || args.method?.toLowerCase() === "delete" ? void 0 : args.body;
|
|
94
122
|
const { headers, data } = await retry(
|
|
95
123
|
() => axios.request({
|
|
96
124
|
baseURL: args.baseUrl,
|
|
@@ -124,13 +152,13 @@ var mergeArgs = (baseUrl, url, method, requestArgs, extras, global) => {
|
|
|
124
152
|
headers,
|
|
125
153
|
body,
|
|
126
154
|
retry: retry2,
|
|
127
|
-
arrayFormat: global
|
|
128
|
-
httpsAgent: extras
|
|
129
|
-
httpAgent: extras
|
|
155
|
+
arrayFormat: global?.arrayFormat,
|
|
156
|
+
httpsAgent: extras?.httpsAgent,
|
|
157
|
+
httpAgent: extras?.httpAgent
|
|
130
158
|
};
|
|
131
159
|
return merged;
|
|
132
160
|
};
|
|
133
|
-
var merge = (prop, ...args) => Object.assign({}, ...args.map((a) =>
|
|
161
|
+
var merge = (prop, ...args) => Object.assign({}, ...args.map((a) => a?.[prop] || {}));
|
|
134
162
|
var setParams = (url, params = {}) => Object.entries(params).reduce(
|
|
135
163
|
(url2, [key, val]) => url2.replace(new RegExp(`/:${key}(?!\\w|\\d)`, "g"), `/${val}`),
|
|
136
164
|
url
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sebspark/openapi-client",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -19,11 +19,14 @@
|
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@sebspark/openapi-typegen": "*",
|
|
22
|
-
"
|
|
22
|
+
"nock": "14.0.1",
|
|
23
|
+
"tsconfig": "*",
|
|
24
|
+
"vitest": "^3.0.7"
|
|
23
25
|
},
|
|
24
26
|
"dependencies": {
|
|
25
27
|
"@sebspark/openapi-core": "*",
|
|
26
28
|
"@sebspark/retry": "*",
|
|
27
|
-
"axios": "1.
|
|
29
|
+
"axios": "1.8.1",
|
|
30
|
+
"axios-auth-refresh": "3.3.6"
|
|
28
31
|
}
|
|
29
32
|
}
|