@sebspark/openapi-client 2.1.8 → 2.1.9

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.d.mts CHANGED
@@ -1,7 +1,11 @@
1
1
  import { BaseClient, ClientOptions } from '@sebspark/openapi-core';
2
+ import { AxiosInstance } from 'axios';
2
3
  import { Logger } from 'winston';
3
4
  export * from '@sebspark/retry';
4
5
 
5
- declare const TypedClient: <C extends Partial<BaseClient>>(baseURL: string, globalOptions?: ClientOptions, logger?: Logger) => C;
6
+ type TypedAxiosClient<T> = T & {
7
+ axiosInstance: AxiosInstance;
8
+ };
9
+ declare const TypedClient: <C extends Partial<BaseClient>>(baseURL: string, globalOptions?: ClientOptions, logger?: Logger) => TypedAxiosClient<C>;
6
10
 
7
- export { TypedClient };
11
+ export { type TypedAxiosClient, TypedClient };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,11 @@
1
1
  import { BaseClient, ClientOptions } from '@sebspark/openapi-core';
2
+ import { AxiosInstance } from 'axios';
2
3
  import { Logger } from 'winston';
3
4
  export * from '@sebspark/retry';
4
5
 
5
- declare const TypedClient: <C extends Partial<BaseClient>>(baseURL: string, globalOptions?: ClientOptions, logger?: Logger) => C;
6
+ type TypedAxiosClient<T> = T & {
7
+ axiosInstance: AxiosInstance;
8
+ };
9
+ declare const TypedClient: <C extends Partial<BaseClient>>(baseURL: string, globalOptions?: ClientOptions, logger?: Logger) => TypedAxiosClient<C>;
6
10
 
7
- export { TypedClient };
11
+ export { type TypedAxiosClient, TypedClient };
package/dist/index.js CHANGED
@@ -93,9 +93,10 @@ var paramsSerializer = (format) => (params) => {
93
93
 
94
94
  // src/client.ts
95
95
  var TypedClient = (baseURL, globalOptions, logger) => {
96
+ const axiosInstance = import_axios.default.create();
96
97
  if (globalOptions?.authorizationTokenGenerator) {
97
98
  logger?.debug("authorizationTokenGenerator is set");
98
- import_axios.default.interceptors.request.use(async (request) => {
99
+ axiosInstance.interceptors.request.use(async (request) => {
99
100
  const url = `${request.baseURL}${request.url}`;
100
101
  logger?.debug(`Intercepting request to ${url}`);
101
102
  if (globalOptions?.authorizationTokenGenerator && url) {
@@ -130,10 +131,10 @@ var TypedClient = (baseURL, globalOptions, logger) => {
130
131
  await globalOptions?.authorizationTokenRefresh(url);
131
132
  }
132
133
  };
133
- (0, import_axios_auth_refresh.default)(import_axios.default, refreshAuthLogic);
134
+ (0, import_axios_auth_refresh.default)(axiosInstance, refreshAuthLogic);
134
135
  }
135
136
  if (logger) {
136
- import_axios.default.interceptors.request.use((request) => {
137
+ axiosInstance.interceptors.request.use((request) => {
137
138
  const requestObject = {
138
139
  url: request.url,
139
140
  params: request.params,
@@ -142,7 +143,7 @@ var TypedClient = (baseURL, globalOptions, logger) => {
142
143
  logger.debug(JSON.stringify(requestObject, null, 2));
143
144
  return request;
144
145
  });
145
- import_axios.default.interceptors.response.use((response) => {
146
+ axiosInstance.interceptors.response.use((response) => {
146
147
  const responseObject = {
147
148
  data: response.data,
148
149
  config: response.config,
@@ -153,20 +154,35 @@ var TypedClient = (baseURL, globalOptions, logger) => {
153
154
  });
154
155
  }
155
156
  const client = {
156
- get: (url, args, opts) => callServer(mergeArgs(baseURL, url, "get", args, opts, globalOptions)),
157
- post: (url, args, opts) => callServer(mergeArgs(baseURL, url, "post", args, opts, globalOptions)),
158
- put: (url, args, opts) => callServer(mergeArgs(baseURL, url, "put", args, opts, globalOptions)),
159
- patch: (url, args, opts) => callServer(mergeArgs(baseURL, url, "patch", args, opts, globalOptions)),
160
- delete: (url, args, opts) => callServer(mergeArgs(baseURL, url, "delete", args, opts, globalOptions))
157
+ get: (url, args, opts) => callServer(
158
+ axiosInstance,
159
+ mergeArgs(baseURL, url, "get", args, opts, globalOptions)
160
+ ),
161
+ post: (url, args, opts) => callServer(
162
+ axiosInstance,
163
+ mergeArgs(baseURL, url, "post", args, opts, globalOptions)
164
+ ),
165
+ put: (url, args, opts) => callServer(
166
+ axiosInstance,
167
+ mergeArgs(baseURL, url, "put", args, opts, globalOptions)
168
+ ),
169
+ patch: (url, args, opts) => callServer(
170
+ axiosInstance,
171
+ mergeArgs(baseURL, url, "patch", args, opts, globalOptions)
172
+ ),
173
+ delete: (url, args, opts) => callServer(
174
+ axiosInstance,
175
+ mergeArgs(baseURL, url, "delete", args, opts, globalOptions)
176
+ )
161
177
  };
162
- return client;
178
+ return { ...client, axiosInstance };
163
179
  };
164
- var callServer = async (args) => {
180
+ var callServer = async (axiosInstance, args) => {
165
181
  try {
166
182
  const serializer = paramsSerializer(args.arrayFormat);
167
183
  const body = args.method?.toLowerCase() === "get" || args.method?.toLowerCase() === "delete" ? void 0 : args.body;
168
184
  const { headers, data } = await (0, import_retry.retry)(
169
- () => import_axios.default.request({
185
+ () => axiosInstance.request({
170
186
  baseURL: args.baseUrl,
171
187
  url: args.url,
172
188
  method: args.method,
package/dist/index.mjs CHANGED
@@ -58,9 +58,10 @@ var paramsSerializer = (format) => (params) => {
58
58
 
59
59
  // src/client.ts
60
60
  var TypedClient = (baseURL, globalOptions, logger) => {
61
+ const axiosInstance = axios.create();
61
62
  if (globalOptions?.authorizationTokenGenerator) {
62
63
  logger?.debug("authorizationTokenGenerator is set");
63
- axios.interceptors.request.use(async (request) => {
64
+ axiosInstance.interceptors.request.use(async (request) => {
64
65
  const url = `${request.baseURL}${request.url}`;
65
66
  logger?.debug(`Intercepting request to ${url}`);
66
67
  if (globalOptions?.authorizationTokenGenerator && url) {
@@ -95,10 +96,10 @@ var TypedClient = (baseURL, globalOptions, logger) => {
95
96
  await globalOptions?.authorizationTokenRefresh(url);
96
97
  }
97
98
  };
98
- createAuthRefreshInterceptor(axios, refreshAuthLogic);
99
+ createAuthRefreshInterceptor(axiosInstance, refreshAuthLogic);
99
100
  }
100
101
  if (logger) {
101
- axios.interceptors.request.use((request) => {
102
+ axiosInstance.interceptors.request.use((request) => {
102
103
  const requestObject = {
103
104
  url: request.url,
104
105
  params: request.params,
@@ -107,7 +108,7 @@ var TypedClient = (baseURL, globalOptions, logger) => {
107
108
  logger.debug(JSON.stringify(requestObject, null, 2));
108
109
  return request;
109
110
  });
110
- axios.interceptors.response.use((response) => {
111
+ axiosInstance.interceptors.response.use((response) => {
111
112
  const responseObject = {
112
113
  data: response.data,
113
114
  config: response.config,
@@ -118,20 +119,35 @@ var TypedClient = (baseURL, globalOptions, logger) => {
118
119
  });
119
120
  }
120
121
  const client = {
121
- get: (url, args, opts) => callServer(mergeArgs(baseURL, url, "get", args, opts, globalOptions)),
122
- post: (url, args, opts) => callServer(mergeArgs(baseURL, url, "post", args, opts, globalOptions)),
123
- put: (url, args, opts) => callServer(mergeArgs(baseURL, url, "put", args, opts, globalOptions)),
124
- patch: (url, args, opts) => callServer(mergeArgs(baseURL, url, "patch", args, opts, globalOptions)),
125
- delete: (url, args, opts) => callServer(mergeArgs(baseURL, url, "delete", args, opts, globalOptions))
122
+ get: (url, args, opts) => callServer(
123
+ axiosInstance,
124
+ mergeArgs(baseURL, url, "get", args, opts, globalOptions)
125
+ ),
126
+ post: (url, args, opts) => callServer(
127
+ axiosInstance,
128
+ mergeArgs(baseURL, url, "post", args, opts, globalOptions)
129
+ ),
130
+ put: (url, args, opts) => callServer(
131
+ axiosInstance,
132
+ mergeArgs(baseURL, url, "put", args, opts, globalOptions)
133
+ ),
134
+ patch: (url, args, opts) => callServer(
135
+ axiosInstance,
136
+ mergeArgs(baseURL, url, "patch", args, opts, globalOptions)
137
+ ),
138
+ delete: (url, args, opts) => callServer(
139
+ axiosInstance,
140
+ mergeArgs(baseURL, url, "delete", args, opts, globalOptions)
141
+ )
126
142
  };
127
- return client;
143
+ return { ...client, axiosInstance };
128
144
  };
129
- var callServer = async (args) => {
145
+ var callServer = async (axiosInstance, args) => {
130
146
  try {
131
147
  const serializer = paramsSerializer(args.arrayFormat);
132
148
  const body = args.method?.toLowerCase() === "get" || args.method?.toLowerCase() === "delete" ? void 0 : args.body;
133
149
  const { headers, data } = await retry(
134
- () => axios.request({
150
+ () => axiosInstance.request({
135
151
  baseURL: args.baseUrl,
136
152
  url: args.url,
137
153
  method: args.method,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sebspark/openapi-client",
3
- "version": "2.1.8",
3
+ "version": "2.1.9",
4
4
  "license": "Apache-2.0",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",