@ps-aux/api-client-axios 0.7.0-rc.2 → 0.7.0-rc.3

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/browser.cjs CHANGED
@@ -185,22 +185,50 @@ const createHttpClient$1 = (axios, opts) => {
185
185
  headers,
186
186
  responseType: isBlobResponse ? "arraybuffer" : "json"
187
187
  }).then((r) => {
188
- const { data: data2 } = r;
188
+ const headers2 = normalizeHeaders(
189
+ r.headers
190
+ );
191
+ const response = {
192
+ body: r.data,
193
+ headers: headers2,
194
+ status: r.status
195
+ };
189
196
  if (isBlobResponse) {
190
- const contDist = r.headers["content-disposition"];
197
+ const contDist = getHeaderValue(
198
+ headers2["content-disposition"]
199
+ );
191
200
  const fileName = helper.getFileNameFromContentDispositionHeader(
192
201
  contDist
193
202
  );
194
- const type = r.headers["content-type"];
195
- return new File([data2], fileName, {
196
- type
197
- });
203
+ const type = getHeaderValue(headers2["content-type"]);
204
+ return {
205
+ ...response,
206
+ body: new File([r.data], fileName, {
207
+ type
208
+ })
209
+ };
198
210
  }
199
- return data2;
211
+ return response;
200
212
  });
201
213
  }
202
214
  };
203
215
  };
216
+ const normalizeHeaders = (headers) => {
217
+ const normalized = {};
218
+ for (const [key, value] of Object.entries(headers)) {
219
+ if (value == null) {
220
+ continue;
221
+ }
222
+ normalized[key.toLowerCase()] = Array.isArray(value) ? value.map(String) : String(value);
223
+ }
224
+ return normalized;
225
+ };
226
+ const getHeaderValue = (header) => {
227
+ if (Array.isArray(header)) {
228
+ return header[0];
229
+ }
230
+ return header;
231
+ };
204
232
 
205
233
  const createHttpClient = (axios, opts) => {
206
234
  return createHttpClient$1(axios, {
@@ -13,10 +13,15 @@ type Request = {
13
13
  body?: any;
14
14
  requestContentType?: RequestContentType;
15
15
  };
16
+ type HttpResponse<Data> = {
17
+ body: Data;
18
+ headers: Record<string, string | string[]>;
19
+ status: number;
20
+ };
16
21
  type QuerySerializer = (params: QueryParams) => string;
17
22
 
18
23
  type HttpClient<RequestParams = never> = {
19
- request: <Data>(req: Request, params?: RequestParams) => Promise<Data>;
24
+ request: <Data>(req: Request, params?: RequestParams) => Promise<HttpResponse<Data>>;
20
25
  };
21
26
 
22
27
  /// <reference lib="esnext.asynciterable" />
@@ -36,4 +41,4 @@ declare const createHttpClient: (axios: AxiosInstance, opts: {
36
41
  }) => HttpClient;
37
42
 
38
43
  export { createHttpClient };
39
- export type { HttpClient as PromiseHttpClient, QuerySerializer };
44
+ export type { HttpResponse, HttpClient as PromiseHttpClient, QuerySerializer };
@@ -13,10 +13,15 @@ type Request = {
13
13
  body?: any;
14
14
  requestContentType?: RequestContentType;
15
15
  };
16
+ type HttpResponse<Data> = {
17
+ body: Data;
18
+ headers: Record<string, string | string[]>;
19
+ status: number;
20
+ };
16
21
  type QuerySerializer = (params: QueryParams) => string;
17
22
 
18
23
  type HttpClient<RequestParams = never> = {
19
- request: <Data>(req: Request, params?: RequestParams) => Promise<Data>;
24
+ request: <Data>(req: Request, params?: RequestParams) => Promise<HttpResponse<Data>>;
20
25
  };
21
26
 
22
27
  /// <reference lib="esnext.asynciterable" />
@@ -36,4 +41,4 @@ declare const createHttpClient: (axios: AxiosInstance, opts: {
36
41
  }) => HttpClient;
37
42
 
38
43
  export { createHttpClient };
39
- export type { HttpClient as PromiseHttpClient, QuerySerializer };
44
+ export type { HttpResponse, HttpClient as PromiseHttpClient, QuerySerializer };
package/dist/browser.d.ts CHANGED
@@ -13,10 +13,15 @@ type Request = {
13
13
  body?: any;
14
14
  requestContentType?: RequestContentType;
15
15
  };
16
+ type HttpResponse<Data> = {
17
+ body: Data;
18
+ headers: Record<string, string | string[]>;
19
+ status: number;
20
+ };
16
21
  type QuerySerializer = (params: QueryParams) => string;
17
22
 
18
23
  type HttpClient<RequestParams = never> = {
19
- request: <Data>(req: Request, params?: RequestParams) => Promise<Data>;
24
+ request: <Data>(req: Request, params?: RequestParams) => Promise<HttpResponse<Data>>;
20
25
  };
21
26
 
22
27
  /// <reference lib="esnext.asynciterable" />
@@ -36,4 +41,4 @@ declare const createHttpClient: (axios: AxiosInstance, opts: {
36
41
  }) => HttpClient;
37
42
 
38
43
  export { createHttpClient };
39
- export type { HttpClient as PromiseHttpClient, QuerySerializer };
44
+ export type { HttpResponse, HttpClient as PromiseHttpClient, QuerySerializer };
package/dist/browser.mjs CHANGED
@@ -183,22 +183,50 @@ const createHttpClient$1 = (axios, opts) => {
183
183
  headers,
184
184
  responseType: isBlobResponse ? "arraybuffer" : "json"
185
185
  }).then((r) => {
186
- const { data: data2 } = r;
186
+ const headers2 = normalizeHeaders(
187
+ r.headers
188
+ );
189
+ const response = {
190
+ body: r.data,
191
+ headers: headers2,
192
+ status: r.status
193
+ };
187
194
  if (isBlobResponse) {
188
- const contDist = r.headers["content-disposition"];
195
+ const contDist = getHeaderValue(
196
+ headers2["content-disposition"]
197
+ );
189
198
  const fileName = helper.getFileNameFromContentDispositionHeader(
190
199
  contDist
191
200
  );
192
- const type = r.headers["content-type"];
193
- return new File([data2], fileName, {
194
- type
195
- });
201
+ const type = getHeaderValue(headers2["content-type"]);
202
+ return {
203
+ ...response,
204
+ body: new File([r.data], fileName, {
205
+ type
206
+ })
207
+ };
196
208
  }
197
- return data2;
209
+ return response;
198
210
  });
199
211
  }
200
212
  };
201
213
  };
214
+ const normalizeHeaders = (headers) => {
215
+ const normalized = {};
216
+ for (const [key, value] of Object.entries(headers)) {
217
+ if (value == null) {
218
+ continue;
219
+ }
220
+ normalized[key.toLowerCase()] = Array.isArray(value) ? value.map(String) : String(value);
221
+ }
222
+ return normalized;
223
+ };
224
+ const getHeaderValue = (header) => {
225
+ if (Array.isArray(header)) {
226
+ return header[0];
227
+ }
228
+ return header;
229
+ };
202
230
 
203
231
  const createHttpClient = (axios, opts) => {
204
232
  return createHttpClient$1(axios, {
package/dist/node.cjs CHANGED
@@ -185,22 +185,50 @@ const createHttpClient$1 = (axios, opts) => {
185
185
  headers,
186
186
  responseType: isBlobResponse ? "arraybuffer" : "json"
187
187
  }).then((r) => {
188
- const { data: data2 } = r;
188
+ const headers2 = normalizeHeaders(
189
+ r.headers
190
+ );
191
+ const response = {
192
+ body: r.data,
193
+ headers: headers2,
194
+ status: r.status
195
+ };
189
196
  if (isBlobResponse) {
190
- const contDist = r.headers["content-disposition"];
197
+ const contDist = getHeaderValue(
198
+ headers2["content-disposition"]
199
+ );
191
200
  const fileName = helper.getFileNameFromContentDispositionHeader(
192
201
  contDist
193
202
  );
194
- const type = r.headers["content-type"];
195
- return new File([data2], fileName, {
196
- type
197
- });
203
+ const type = getHeaderValue(headers2["content-type"]);
204
+ return {
205
+ ...response,
206
+ body: new File([r.data], fileName, {
207
+ type
208
+ })
209
+ };
198
210
  }
199
- return data2;
211
+ return response;
200
212
  });
201
213
  }
202
214
  };
203
215
  };
216
+ const normalizeHeaders = (headers) => {
217
+ const normalized = {};
218
+ for (const [key, value] of Object.entries(headers)) {
219
+ if (value == null) {
220
+ continue;
221
+ }
222
+ normalized[key.toLowerCase()] = Array.isArray(value) ? value.map(String) : String(value);
223
+ }
224
+ return normalized;
225
+ };
226
+ const getHeaderValue = (header) => {
227
+ if (Array.isArray(header)) {
228
+ return header[0];
229
+ }
230
+ return header;
231
+ };
204
232
 
205
233
  const createHttpClient = (axios, opts) => {
206
234
  return createHttpClient$1(axios, {
package/dist/node.d.cts CHANGED
@@ -13,10 +13,15 @@ type Request = {
13
13
  body?: any;
14
14
  requestContentType?: RequestContentType;
15
15
  };
16
+ type HttpResponse<Data> = {
17
+ body: Data;
18
+ headers: Record<string, string | string[]>;
19
+ status: number;
20
+ };
16
21
  type QuerySerializer = (params: QueryParams) => string;
17
22
 
18
23
  type HttpClient<RequestParams = never> = {
19
- request: <Data>(req: Request, params?: RequestParams) => Promise<Data>;
24
+ request: <Data>(req: Request, params?: RequestParams) => Promise<HttpResponse<Data>>;
20
25
  };
21
26
 
22
27
  /// <reference lib="esnext.asynciterable" />
@@ -36,4 +41,4 @@ declare const createHttpClient: (axios: AxiosInstance, opts: {
36
41
  }) => HttpClient;
37
42
 
38
43
  export { createHttpClient };
39
- export type { HttpClient as PromiseHttpClient, QuerySerializer };
44
+ export type { HttpResponse, HttpClient as PromiseHttpClient, QuerySerializer };
package/dist/node.d.mts CHANGED
@@ -13,10 +13,15 @@ type Request = {
13
13
  body?: any;
14
14
  requestContentType?: RequestContentType;
15
15
  };
16
+ type HttpResponse<Data> = {
17
+ body: Data;
18
+ headers: Record<string, string | string[]>;
19
+ status: number;
20
+ };
16
21
  type QuerySerializer = (params: QueryParams) => string;
17
22
 
18
23
  type HttpClient<RequestParams = never> = {
19
- request: <Data>(req: Request, params?: RequestParams) => Promise<Data>;
24
+ request: <Data>(req: Request, params?: RequestParams) => Promise<HttpResponse<Data>>;
20
25
  };
21
26
 
22
27
  /// <reference lib="esnext.asynciterable" />
@@ -36,4 +41,4 @@ declare const createHttpClient: (axios: AxiosInstance, opts: {
36
41
  }) => HttpClient;
37
42
 
38
43
  export { createHttpClient };
39
- export type { HttpClient as PromiseHttpClient, QuerySerializer };
44
+ export type { HttpResponse, HttpClient as PromiseHttpClient, QuerySerializer };
package/dist/node.d.ts CHANGED
@@ -13,10 +13,15 @@ type Request = {
13
13
  body?: any;
14
14
  requestContentType?: RequestContentType;
15
15
  };
16
+ type HttpResponse<Data> = {
17
+ body: Data;
18
+ headers: Record<string, string | string[]>;
19
+ status: number;
20
+ };
16
21
  type QuerySerializer = (params: QueryParams) => string;
17
22
 
18
23
  type HttpClient<RequestParams = never> = {
19
- request: <Data>(req: Request, params?: RequestParams) => Promise<Data>;
24
+ request: <Data>(req: Request, params?: RequestParams) => Promise<HttpResponse<Data>>;
20
25
  };
21
26
 
22
27
  /// <reference lib="esnext.asynciterable" />
@@ -36,4 +41,4 @@ declare const createHttpClient: (axios: AxiosInstance, opts: {
36
41
  }) => HttpClient;
37
42
 
38
43
  export { createHttpClient };
39
- export type { HttpClient as PromiseHttpClient, QuerySerializer };
44
+ export type { HttpResponse, HttpClient as PromiseHttpClient, QuerySerializer };
package/dist/node.mjs CHANGED
@@ -183,22 +183,50 @@ const createHttpClient$1 = (axios, opts) => {
183
183
  headers,
184
184
  responseType: isBlobResponse ? "arraybuffer" : "json"
185
185
  }).then((r) => {
186
- const { data: data2 } = r;
186
+ const headers2 = normalizeHeaders(
187
+ r.headers
188
+ );
189
+ const response = {
190
+ body: r.data,
191
+ headers: headers2,
192
+ status: r.status
193
+ };
187
194
  if (isBlobResponse) {
188
- const contDist = r.headers["content-disposition"];
195
+ const contDist = getHeaderValue(
196
+ headers2["content-disposition"]
197
+ );
189
198
  const fileName = helper.getFileNameFromContentDispositionHeader(
190
199
  contDist
191
200
  );
192
- const type = r.headers["content-type"];
193
- return new File([data2], fileName, {
194
- type
195
- });
201
+ const type = getHeaderValue(headers2["content-type"]);
202
+ return {
203
+ ...response,
204
+ body: new File([r.data], fileName, {
205
+ type
206
+ })
207
+ };
196
208
  }
197
- return data2;
209
+ return response;
198
210
  });
199
211
  }
200
212
  };
201
213
  };
214
+ const normalizeHeaders = (headers) => {
215
+ const normalized = {};
216
+ for (const [key, value] of Object.entries(headers)) {
217
+ if (value == null) {
218
+ continue;
219
+ }
220
+ normalized[key.toLowerCase()] = Array.isArray(value) ? value.map(String) : String(value);
221
+ }
222
+ return normalized;
223
+ };
224
+ const getHeaderValue = (header) => {
225
+ if (Array.isArray(header)) {
226
+ return header[0];
227
+ }
228
+ return header;
229
+ };
202
230
 
203
231
  const createHttpClient = (axios, opts) => {
204
232
  return createHttpClient$1(axios, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ps-aux/api-client-axios",
3
- "version": "0.7.0-rc.2",
3
+ "version": "0.7.0-rc.3",
4
4
  "main": "dist/node.cjs",
5
5
  "type": "module",
6
6
  "scripts": {