@readyfor/api-client-base 0.242.1 → 0.243.0-pr981.418eff9

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.
Files changed (38) hide show
  1. package/dist/apiClientConfigStore.d.mts +2 -1
  2. package/dist/apiClientConfigStore.d.ts +2 -1
  3. package/dist/apiClientConfigStore.js +30 -0
  4. package/dist/apiClientConfigStore.mjs +5 -1
  5. package/dist/chunk-2ORFVC4H.mjs +14 -0
  6. package/dist/{chunk-BNXKKSJH.mjs → chunk-E3EKMNYV.mjs} +32 -41
  7. package/dist/{chunk-RGDL3AEX.mjs → chunk-EYKOWAWU.mjs} +1 -1
  8. package/dist/chunk-GIFAQKW5.mjs +20 -0
  9. package/dist/{chunk-5ZI7SAUQ.mjs → chunk-T2LQ4KT5.mjs} +1 -1
  10. package/dist/chunk-X4CTIU5H.mjs +37 -0
  11. package/dist/chunk-Z2IX5DM2.mjs +21 -0
  12. package/dist/fetcher.js +52 -40
  13. package/dist/fetcher.mjs +5 -3
  14. package/dist/index.d.mts +2 -1
  15. package/dist/index.d.ts +2 -1
  16. package/dist/index.js +60 -40
  17. package/dist/index.mjs +14 -7
  18. package/dist/react/ApiClientConfigProvider.mjs +4 -2
  19. package/dist/react/index.js +26 -30
  20. package/dist/react/index.mjs +5 -3
  21. package/dist/react/useApiClientConfig.js +26 -30
  22. package/dist/react/useApiClientConfig.mjs +5 -3
  23. package/dist/requestUrl.mjs +4 -2
  24. package/dist/utils/headersInit.d.mts +17 -0
  25. package/dist/utils/headersInit.d.ts +17 -0
  26. package/dist/utils/headersInit.js +44 -0
  27. package/dist/utils/headersInit.mjs +6 -0
  28. package/dist/utils/requestInit.d.mts +9 -0
  29. package/dist/utils/requestInit.d.ts +9 -0
  30. package/dist/utils/requestInit.js +53 -0
  31. package/dist/utils/requestInit.mjs +7 -0
  32. package/package.json +12 -10
  33. package/dist/chunk-472P3XVV.mjs +0 -13
  34. package/dist/chunk-JOSDYCJN.mjs +0 -62
  35. package/dist/requestUrl.test.d.mts +0 -2
  36. package/dist/requestUrl.test.d.ts +0 -2
  37. package/dist/requestUrl.test.js +0 -171
  38. package/dist/requestUrl.test.mjs +0 -114
@@ -17,5 +17,6 @@ type RequestConfig = {
17
17
  type Config = RequestConfig & DeserializeResponseConfig & LoggingConfig;
18
18
  declare const store: Store<Config>;
19
19
  declare const setApiClientConfig: (config: Config) => void;
20
+ declare const buildRequestInitWithDefaultConfig: (customRequestInit?: RequestInit) => RequestInit;
20
21
 
21
- export { type Config, type RequestConfig, setApiClientConfig, store };
22
+ export { type Config, type RequestConfig, buildRequestInitWithDefaultConfig, setApiClientConfig, store };
@@ -17,5 +17,6 @@ type RequestConfig = {
17
17
  type Config = RequestConfig & DeserializeResponseConfig & LoggingConfig;
18
18
  declare const store: Store<Config>;
19
19
  declare const setApiClientConfig: (config: Config) => void;
20
+ declare const buildRequestInitWithDefaultConfig: (customRequestInit?: RequestInit) => RequestInit;
20
21
 
21
- export { type Config, type RequestConfig, setApiClientConfig, store };
22
+ export { type Config, type RequestConfig, buildRequestInitWithDefaultConfig, setApiClientConfig, store };
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/apiClientConfigStore.ts
21
21
  var apiClientConfigStore_exports = {};
22
22
  __export(apiClientConfigStore_exports, {
23
+ buildRequestInitWithDefaultConfig: () => buildRequestInitWithDefaultConfig,
23
24
  setApiClientConfig: () => setApiClientConfig,
24
25
  store: () => store
25
26
  });
@@ -45,12 +46,41 @@ var createStore = (initialState) => {
45
46
  };
46
47
  };
47
48
 
49
+ // src/utils/headersInit.ts
50
+ var mergeHeadersInit = (baseHeadersInit, overrideHeadersInit) => {
51
+ const base = new Headers(baseHeadersInit);
52
+ const override = new Headers(overrideHeadersInit);
53
+ const setCookies = base.getSetCookie().concat(override.getSetCookie());
54
+ base.delete("set-cookie");
55
+ override.delete("set-cookie");
56
+ const mergedHeaders = new Headers({
57
+ ...Object.fromEntries(base),
58
+ ...Object.fromEntries(override)
59
+ });
60
+ setCookies.forEach((cookie) => {
61
+ mergedHeaders.append("set-cookie", cookie);
62
+ });
63
+ return mergedHeaders;
64
+ };
65
+
66
+ // src/utils/requestInit.ts
67
+ var mergeRequestInit = ({ headers: baseHeaders, ...base }, { headers: overrideHeaders, ...override }) => ({
68
+ ...base,
69
+ ...override,
70
+ headers: baseHeaders === void 0 ? overrideHeaders : overrideHeaders === void 0 ? baseHeaders : mergeHeadersInit(baseHeaders, overrideHeaders)
71
+ });
72
+
48
73
  // src/apiClientConfigStore.ts
49
74
  var defaultConfig = {};
50
75
  var store = createStore(defaultConfig);
51
76
  var setApiClientConfig = (config) => store.setState(() => config);
77
+ var buildRequestInitWithDefaultConfig = (customRequestInit = {}) => {
78
+ const { defaultRequestInit = {} } = store.getState();
79
+ return mergeRequestInit(defaultRequestInit, customRequestInit);
80
+ };
52
81
  // Annotate the CommonJS export names for ESM import in node:
53
82
  0 && (module.exports = {
83
+ buildRequestInitWithDefaultConfig,
54
84
  setApiClientConfig,
55
85
  store
56
86
  });
@@ -1,9 +1,13 @@
1
1
  import {
2
+ buildRequestInitWithDefaultConfig,
2
3
  setApiClientConfig,
3
4
  store
4
- } from "./chunk-472P3XVV.mjs";
5
+ } from "./chunk-Z2IX5DM2.mjs";
6
+ import "./chunk-2ORFVC4H.mjs";
7
+ import "./chunk-GIFAQKW5.mjs";
5
8
  import "./chunk-3SEO7S3Q.mjs";
6
9
  export {
10
+ buildRequestInitWithDefaultConfig,
7
11
  setApiClientConfig,
8
12
  store
9
13
  };
@@ -0,0 +1,14 @@
1
+ import {
2
+ mergeHeadersInit
3
+ } from "./chunk-GIFAQKW5.mjs";
4
+
5
+ // src/utils/requestInit.ts
6
+ var mergeRequestInit = ({ headers: baseHeaders, ...base }, { headers: overrideHeaders, ...override }) => ({
7
+ ...base,
8
+ ...override,
9
+ headers: baseHeaders === void 0 ? overrideHeaders : overrideHeaders === void 0 ? baseHeaders : mergeHeadersInit(baseHeaders, overrideHeaders)
10
+ });
11
+
12
+ export {
13
+ mergeRequestInit
14
+ };
@@ -4,22 +4,22 @@ import {
4
4
  } from "./chunk-PY35XWDS.mjs";
5
5
  import {
6
6
  store
7
- } from "./chunk-472P3XVV.mjs";
7
+ } from "./chunk-Z2IX5DM2.mjs";
8
+ import {
9
+ mergeRequestInit
10
+ } from "./chunk-2ORFVC4H.mjs";
8
11
 
9
12
  // src/fetcher.ts
10
13
  var defaultRequestInit = {
11
14
  credentials: "include"
12
15
  };
13
- var createJsonFetcher = (schema, customRequestInit = {}) => (input, requestInit = {}) => fetch(input, {
14
- ...defaultRequestInit,
15
- ...customRequestInit,
16
- ...requestInit,
17
- headers: {
18
- ...defaultRequestInit.headers,
19
- ...customRequestInit.headers,
20
- ...requestInit.headers
21
- }
22
- }).then(async (res) => {
16
+ var createJsonFetcher = (schema, customRequestInit = {}) => (input, requestInit = {}) => fetch(
17
+ input,
18
+ mergeRequestInit(
19
+ defaultRequestInit,
20
+ mergeRequestInit(customRequestInit, requestInit)
21
+ )
22
+ ).then(async (res) => {
23
23
  const body = await res.json();
24
24
  if (res.ok) return body;
25
25
  const code = Object.values(errorStatusCode).includes(res.status) ? res.status : 999;
@@ -43,16 +43,13 @@ var createJsonFetcher = (schema, customRequestInit = {}) => (input, requestInit
43
43
  }
44
44
  throw result.error;
45
45
  });
46
- var createTextFetcher = (customRequestInit = {}) => (input, requestInit = {}) => fetch(input, {
47
- ...defaultRequestInit,
48
- ...customRequestInit,
49
- ...requestInit,
50
- headers: {
51
- ...defaultRequestInit.headers,
52
- ...customRequestInit.headers,
53
- ...requestInit.headers
54
- }
55
- }).then(async (res) => {
46
+ var createTextFetcher = (customRequestInit = {}) => (input, requestInit = {}) => fetch(
47
+ input,
48
+ mergeRequestInit(
49
+ defaultRequestInit,
50
+ mergeRequestInit(customRequestInit, requestInit)
51
+ )
52
+ ).then(async (res) => {
56
53
  const body = await res.text();
57
54
  if (res.ok) return body;
58
55
  const code = Object.values(errorStatusCode).includes(res.status) ? res.status : 999;
@@ -62,16 +59,13 @@ var createTextFetcher = (customRequestInit = {}) => (input, requestInit = {}) =>
62
59
  store.getState().onError?.(error);
63
60
  throw error;
64
61
  });
65
- var createBlobFetcher = (customRequestInit = {}) => (input, requestInit = {}) => fetch(input, {
66
- ...defaultRequestInit,
67
- ...customRequestInit,
68
- ...requestInit,
69
- headers: {
70
- ...defaultRequestInit.headers,
71
- ...customRequestInit.headers,
72
- ...requestInit.headers
73
- }
74
- }).then(async (res) => {
62
+ var createBlobFetcher = (customRequestInit = {}) => (input, requestInit = {}) => fetch(
63
+ input,
64
+ mergeRequestInit(
65
+ defaultRequestInit,
66
+ mergeRequestInit(customRequestInit, requestInit)
67
+ )
68
+ ).then(async (res) => {
75
69
  const body = await res.blob();
76
70
  if (res.ok) return { body, headers: res.headers };
77
71
  const code = Object.values(errorStatusCode).includes(res.status) ? res.status : 999;
@@ -81,16 +75,13 @@ var createBlobFetcher = (customRequestInit = {}) => (input, requestInit = {}) =>
81
75
  store.getState().onError?.(error);
82
76
  throw error;
83
77
  });
84
- var createVoidFetcher = (customRequestInit = {}) => (input, requestInit = {}) => fetch(input, {
85
- ...defaultRequestInit,
86
- ...customRequestInit,
87
- ...requestInit,
88
- headers: {
89
- ...defaultRequestInit.headers,
90
- ...customRequestInit.headers,
91
- ...requestInit.headers
92
- }
93
- }).then(async (res) => {
78
+ var createVoidFetcher = (customRequestInit = {}) => (input, requestInit = {}) => fetch(
79
+ input,
80
+ mergeRequestInit(
81
+ defaultRequestInit,
82
+ mergeRequestInit(customRequestInit, requestInit)
83
+ )
84
+ ).then(async (res) => {
94
85
  if (res.ok) return;
95
86
  const code = Object.values(errorStatusCode).includes(res.status) ? res.status : 999;
96
87
  const body = await res.text();
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  store
3
- } from "./chunk-472P3XVV.mjs";
3
+ } from "./chunk-Z2IX5DM2.mjs";
4
4
 
5
5
  // src/requestUrl.ts
6
6
  import qs from "qs";
@@ -0,0 +1,20 @@
1
+ // src/utils/headersInit.ts
2
+ var mergeHeadersInit = (baseHeadersInit, overrideHeadersInit) => {
3
+ const base = new Headers(baseHeadersInit);
4
+ const override = new Headers(overrideHeadersInit);
5
+ const setCookies = base.getSetCookie().concat(override.getSetCookie());
6
+ base.delete("set-cookie");
7
+ override.delete("set-cookie");
8
+ const mergedHeaders = new Headers({
9
+ ...Object.fromEntries(base),
10
+ ...Object.fromEntries(override)
11
+ });
12
+ setCookies.forEach((cookie) => {
13
+ mergedHeaders.append("set-cookie", cookie);
14
+ });
15
+ return mergedHeaders;
16
+ };
17
+
18
+ export {
19
+ mergeHeadersInit
20
+ };
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-DH33ZDBG.mjs";
4
4
  import {
5
5
  store
6
- } from "./chunk-472P3XVV.mjs";
6
+ } from "./chunk-Z2IX5DM2.mjs";
7
7
 
8
8
  // src/react/ApiClientConfigProvider.tsx
9
9
  import { createContext, useContext, useEffect } from "react";
@@ -0,0 +1,37 @@
1
+ import {
2
+ useApiClientConfigContext
3
+ } from "./chunk-T2LQ4KT5.mjs";
4
+ import {
5
+ mergeRequestInit
6
+ } from "./chunk-2ORFVC4H.mjs";
7
+
8
+ // src/react/useApiClientConfig.ts
9
+ import { useMemo } from "react";
10
+ import { useSyncExternalStore } from "use-sync-external-store/shim/index.js";
11
+ import { useSyncExternalStoreWithSelector } from "use-sync-external-store/shim/with-selector.js";
12
+ var useApiClientConfig = () => {
13
+ const store = useApiClientConfigContext();
14
+ return useSyncExternalStore(store.subscribe, store.getState);
15
+ };
16
+ var useApiClientConfigWithSelector = (selector) => {
17
+ const store = useApiClientConfigContext();
18
+ return useSyncExternalStoreWithSelector(
19
+ store.subscribe,
20
+ store.getState,
21
+ null,
22
+ selector
23
+ );
24
+ };
25
+ var useRequestInit = (customRequestInit = {}) => {
26
+ const { defaultRequestInit = {} } = useApiClientConfig();
27
+ return useMemo(
28
+ () => mergeRequestInit(defaultRequestInit, customRequestInit),
29
+ [defaultRequestInit, customRequestInit]
30
+ );
31
+ };
32
+
33
+ export {
34
+ useApiClientConfig,
35
+ useApiClientConfigWithSelector,
36
+ useRequestInit
37
+ };
@@ -0,0 +1,21 @@
1
+ import {
2
+ mergeRequestInit
3
+ } from "./chunk-2ORFVC4H.mjs";
4
+ import {
5
+ createStore
6
+ } from "./chunk-3SEO7S3Q.mjs";
7
+
8
+ // src/apiClientConfigStore.ts
9
+ var defaultConfig = {};
10
+ var store = createStore(defaultConfig);
11
+ var setApiClientConfig = (config) => store.setState(() => config);
12
+ var buildRequestInitWithDefaultConfig = (customRequestInit = {}) => {
13
+ const { defaultRequestInit = {} } = store.getState();
14
+ return mergeRequestInit(defaultRequestInit, customRequestInit);
15
+ };
16
+
17
+ export {
18
+ store,
19
+ setApiClientConfig,
20
+ buildRequestInitWithDefaultConfig
21
+ };
package/dist/fetcher.js CHANGED
@@ -93,6 +93,30 @@ var createStore = (initialState) => {
93
93
  };
94
94
  };
95
95
 
96
+ // src/utils/headersInit.ts
97
+ var mergeHeadersInit = (baseHeadersInit, overrideHeadersInit) => {
98
+ const base = new Headers(baseHeadersInit);
99
+ const override = new Headers(overrideHeadersInit);
100
+ const setCookies = base.getSetCookie().concat(override.getSetCookie());
101
+ base.delete("set-cookie");
102
+ override.delete("set-cookie");
103
+ const mergedHeaders = new Headers({
104
+ ...Object.fromEntries(base),
105
+ ...Object.fromEntries(override)
106
+ });
107
+ setCookies.forEach((cookie) => {
108
+ mergedHeaders.append("set-cookie", cookie);
109
+ });
110
+ return mergedHeaders;
111
+ };
112
+
113
+ // src/utils/requestInit.ts
114
+ var mergeRequestInit = ({ headers: baseHeaders, ...base }, { headers: overrideHeaders, ...override }) => ({
115
+ ...base,
116
+ ...override,
117
+ headers: baseHeaders === void 0 ? overrideHeaders : overrideHeaders === void 0 ? baseHeaders : mergeHeadersInit(baseHeaders, overrideHeaders)
118
+ });
119
+
96
120
  // src/apiClientConfigStore.ts
97
121
  var defaultConfig = {};
98
122
  var store = createStore(defaultConfig);
@@ -101,16 +125,13 @@ var store = createStore(defaultConfig);
101
125
  var defaultRequestInit = {
102
126
  credentials: "include"
103
127
  };
104
- var createJsonFetcher = (schema, customRequestInit = {}) => (input, requestInit = {}) => fetch(input, {
105
- ...defaultRequestInit,
106
- ...customRequestInit,
107
- ...requestInit,
108
- headers: {
109
- ...defaultRequestInit.headers,
110
- ...customRequestInit.headers,
111
- ...requestInit.headers
112
- }
113
- }).then(async (res) => {
128
+ var createJsonFetcher = (schema, customRequestInit = {}) => (input, requestInit = {}) => fetch(
129
+ input,
130
+ mergeRequestInit(
131
+ defaultRequestInit,
132
+ mergeRequestInit(customRequestInit, requestInit)
133
+ )
134
+ ).then(async (res) => {
114
135
  const body = await res.json();
115
136
  if (res.ok) return body;
116
137
  const code = Object.values(errorStatusCode).includes(res.status) ? res.status : 999;
@@ -134,16 +155,13 @@ var createJsonFetcher = (schema, customRequestInit = {}) => (input, requestInit
134
155
  }
135
156
  throw result.error;
136
157
  });
137
- var createTextFetcher = (customRequestInit = {}) => (input, requestInit = {}) => fetch(input, {
138
- ...defaultRequestInit,
139
- ...customRequestInit,
140
- ...requestInit,
141
- headers: {
142
- ...defaultRequestInit.headers,
143
- ...customRequestInit.headers,
144
- ...requestInit.headers
145
- }
146
- }).then(async (res) => {
158
+ var createTextFetcher = (customRequestInit = {}) => (input, requestInit = {}) => fetch(
159
+ input,
160
+ mergeRequestInit(
161
+ defaultRequestInit,
162
+ mergeRequestInit(customRequestInit, requestInit)
163
+ )
164
+ ).then(async (res) => {
147
165
  const body = await res.text();
148
166
  if (res.ok) return body;
149
167
  const code = Object.values(errorStatusCode).includes(res.status) ? res.status : 999;
@@ -153,16 +171,13 @@ var createTextFetcher = (customRequestInit = {}) => (input, requestInit = {}) =>
153
171
  store.getState().onError?.(error);
154
172
  throw error;
155
173
  });
156
- var createBlobFetcher = (customRequestInit = {}) => (input, requestInit = {}) => fetch(input, {
157
- ...defaultRequestInit,
158
- ...customRequestInit,
159
- ...requestInit,
160
- headers: {
161
- ...defaultRequestInit.headers,
162
- ...customRequestInit.headers,
163
- ...requestInit.headers
164
- }
165
- }).then(async (res) => {
174
+ var createBlobFetcher = (customRequestInit = {}) => (input, requestInit = {}) => fetch(
175
+ input,
176
+ mergeRequestInit(
177
+ defaultRequestInit,
178
+ mergeRequestInit(customRequestInit, requestInit)
179
+ )
180
+ ).then(async (res) => {
166
181
  const body = await res.blob();
167
182
  if (res.ok) return { body, headers: res.headers };
168
183
  const code = Object.values(errorStatusCode).includes(res.status) ? res.status : 999;
@@ -172,16 +187,13 @@ var createBlobFetcher = (customRequestInit = {}) => (input, requestInit = {}) =>
172
187
  store.getState().onError?.(error);
173
188
  throw error;
174
189
  });
175
- var createVoidFetcher = (customRequestInit = {}) => (input, requestInit = {}) => fetch(input, {
176
- ...defaultRequestInit,
177
- ...customRequestInit,
178
- ...requestInit,
179
- headers: {
180
- ...defaultRequestInit.headers,
181
- ...customRequestInit.headers,
182
- ...requestInit.headers
183
- }
184
- }).then(async (res) => {
190
+ var createVoidFetcher = (customRequestInit = {}) => (input, requestInit = {}) => fetch(
191
+ input,
192
+ mergeRequestInit(
193
+ defaultRequestInit,
194
+ mergeRequestInit(customRequestInit, requestInit)
195
+ )
196
+ ).then(async (res) => {
185
197
  if (res.ok) return;
186
198
  const code = Object.values(errorStatusCode).includes(res.status) ? res.status : 999;
187
199
  const body = await res.text();
package/dist/fetcher.mjs CHANGED
@@ -3,11 +3,13 @@ import {
3
3
  createJsonFetcher,
4
4
  createTextFetcher,
5
5
  createVoidFetcher
6
- } from "./chunk-BNXKKSJH.mjs";
6
+ } from "./chunk-E3EKMNYV.mjs";
7
7
  import "./chunk-PY35XWDS.mjs";
8
- import "./chunk-JCZWXJBU.mjs";
9
- import "./chunk-472P3XVV.mjs";
8
+ import "./chunk-Z2IX5DM2.mjs";
9
+ import "./chunk-2ORFVC4H.mjs";
10
+ import "./chunk-GIFAQKW5.mjs";
10
11
  import "./chunk-3SEO7S3Q.mjs";
12
+ import "./chunk-JCZWXJBU.mjs";
11
13
  export {
12
14
  createBlobFetcher,
13
15
  createJsonFetcher,
package/dist/index.d.mts CHANGED
@@ -1,8 +1,9 @@
1
- export { Config, RequestConfig, setApiClientConfig, store } from './apiClientConfigStore.mjs';
1
+ export { Config, RequestConfig, buildRequestInitWithDefaultConfig, setApiClientConfig, store } from './apiClientConfigStore.mjs';
2
2
  export { ErrorStatusCode, HTTPError, errorStatusCode, errorTitle, getErrorStatus } from './apiError.mjs';
3
3
  export { BlobFetcherResponse, createBlobFetcher, createJsonFetcher, createTextFetcher, createVoidFetcher } from './fetcher.mjs';
4
4
  export { __internal__requestUrl } from './requestUrl.mjs';
5
5
  export { Store, createStore } from './store.mjs';
6
6
  export { ForceDig, QueryPropsFor } from './types.mjs';
7
7
  export { isZodError, schemaForType } from './zod.mjs';
8
+ export { mergeRequestInit } from './utils/requestInit.mjs';
8
9
  import 'zod';
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
- export { Config, RequestConfig, setApiClientConfig, store } from './apiClientConfigStore.js';
1
+ export { Config, RequestConfig, buildRequestInitWithDefaultConfig, setApiClientConfig, store } from './apiClientConfigStore.js';
2
2
  export { ErrorStatusCode, HTTPError, errorStatusCode, errorTitle, getErrorStatus } from './apiError.js';
3
3
  export { BlobFetcherResponse, createBlobFetcher, createJsonFetcher, createTextFetcher, createVoidFetcher } from './fetcher.js';
4
4
  export { __internal__requestUrl } from './requestUrl.js';
5
5
  export { Store, createStore } from './store.js';
6
6
  export { ForceDig, QueryPropsFor } from './types.js';
7
7
  export { isZodError, schemaForType } from './zod.js';
8
+ export { mergeRequestInit } from './utils/requestInit.js';
8
9
  import 'zod';
package/dist/index.js CHANGED
@@ -32,6 +32,7 @@ var index_exports = {};
32
32
  __export(index_exports, {
33
33
  HTTPError: () => HTTPError,
34
34
  __internal__requestUrl: () => __internal__requestUrl,
35
+ buildRequestInitWithDefaultConfig: () => buildRequestInitWithDefaultConfig,
35
36
  createBlobFetcher: () => createBlobFetcher,
36
37
  createJsonFetcher: () => createJsonFetcher,
37
38
  createStore: () => createStore,
@@ -41,6 +42,7 @@ __export(index_exports, {
41
42
  errorTitle: () => errorTitle,
42
43
  getErrorStatus: () => getErrorStatus,
43
44
  isZodError: () => isZodError,
45
+ mergeRequestInit: () => mergeRequestInit,
44
46
  schemaForType: () => schemaForType,
45
47
  setApiClientConfig: () => setApiClientConfig,
46
48
  store: () => store
@@ -67,10 +69,38 @@ var createStore = (initialState) => {
67
69
  };
68
70
  };
69
71
 
72
+ // src/utils/headersInit.ts
73
+ var mergeHeadersInit = (baseHeadersInit, overrideHeadersInit) => {
74
+ const base = new Headers(baseHeadersInit);
75
+ const override = new Headers(overrideHeadersInit);
76
+ const setCookies = base.getSetCookie().concat(override.getSetCookie());
77
+ base.delete("set-cookie");
78
+ override.delete("set-cookie");
79
+ const mergedHeaders = new Headers({
80
+ ...Object.fromEntries(base),
81
+ ...Object.fromEntries(override)
82
+ });
83
+ setCookies.forEach((cookie) => {
84
+ mergedHeaders.append("set-cookie", cookie);
85
+ });
86
+ return mergedHeaders;
87
+ };
88
+
89
+ // src/utils/requestInit.ts
90
+ var mergeRequestInit = ({ headers: baseHeaders, ...base }, { headers: overrideHeaders, ...override }) => ({
91
+ ...base,
92
+ ...override,
93
+ headers: baseHeaders === void 0 ? overrideHeaders : overrideHeaders === void 0 ? baseHeaders : mergeHeadersInit(baseHeaders, overrideHeaders)
94
+ });
95
+
70
96
  // src/apiClientConfigStore.ts
71
97
  var defaultConfig = {};
72
98
  var store = createStore(defaultConfig);
73
99
  var setApiClientConfig = (config) => store.setState(() => config);
100
+ var buildRequestInitWithDefaultConfig = (customRequestInit = {}) => {
101
+ const { defaultRequestInit: defaultRequestInit2 = {} } = store.getState();
102
+ return mergeRequestInit(defaultRequestInit2, customRequestInit);
103
+ };
74
104
 
75
105
  // src/zod.ts
76
106
  var schemaForType = () => (arg) => {
@@ -138,16 +168,13 @@ var getErrorStatus = (response) => {
138
168
  var defaultRequestInit = {
139
169
  credentials: "include"
140
170
  };
141
- var createJsonFetcher = (schema, customRequestInit = {}) => (input, requestInit = {}) => fetch(input, {
142
- ...defaultRequestInit,
143
- ...customRequestInit,
144
- ...requestInit,
145
- headers: {
146
- ...defaultRequestInit.headers,
147
- ...customRequestInit.headers,
148
- ...requestInit.headers
149
- }
150
- }).then(async (res) => {
171
+ var createJsonFetcher = (schema, customRequestInit = {}) => (input, requestInit = {}) => fetch(
172
+ input,
173
+ mergeRequestInit(
174
+ defaultRequestInit,
175
+ mergeRequestInit(customRequestInit, requestInit)
176
+ )
177
+ ).then(async (res) => {
151
178
  const body = await res.json();
152
179
  if (res.ok) return body;
153
180
  const code = Object.values(errorStatusCode).includes(res.status) ? res.status : 999;
@@ -171,16 +198,13 @@ var createJsonFetcher = (schema, customRequestInit = {}) => (input, requestInit
171
198
  }
172
199
  throw result.error;
173
200
  });
174
- var createTextFetcher = (customRequestInit = {}) => (input, requestInit = {}) => fetch(input, {
175
- ...defaultRequestInit,
176
- ...customRequestInit,
177
- ...requestInit,
178
- headers: {
179
- ...defaultRequestInit.headers,
180
- ...customRequestInit.headers,
181
- ...requestInit.headers
182
- }
183
- }).then(async (res) => {
201
+ var createTextFetcher = (customRequestInit = {}) => (input, requestInit = {}) => fetch(
202
+ input,
203
+ mergeRequestInit(
204
+ defaultRequestInit,
205
+ mergeRequestInit(customRequestInit, requestInit)
206
+ )
207
+ ).then(async (res) => {
184
208
  const body = await res.text();
185
209
  if (res.ok) return body;
186
210
  const code = Object.values(errorStatusCode).includes(res.status) ? res.status : 999;
@@ -190,16 +214,13 @@ var createTextFetcher = (customRequestInit = {}) => (input, requestInit = {}) =>
190
214
  store.getState().onError?.(error);
191
215
  throw error;
192
216
  });
193
- var createBlobFetcher = (customRequestInit = {}) => (input, requestInit = {}) => fetch(input, {
194
- ...defaultRequestInit,
195
- ...customRequestInit,
196
- ...requestInit,
197
- headers: {
198
- ...defaultRequestInit.headers,
199
- ...customRequestInit.headers,
200
- ...requestInit.headers
201
- }
202
- }).then(async (res) => {
217
+ var createBlobFetcher = (customRequestInit = {}) => (input, requestInit = {}) => fetch(
218
+ input,
219
+ mergeRequestInit(
220
+ defaultRequestInit,
221
+ mergeRequestInit(customRequestInit, requestInit)
222
+ )
223
+ ).then(async (res) => {
203
224
  const body = await res.blob();
204
225
  if (res.ok) return { body, headers: res.headers };
205
226
  const code = Object.values(errorStatusCode).includes(res.status) ? res.status : 999;
@@ -209,16 +230,13 @@ var createBlobFetcher = (customRequestInit = {}) => (input, requestInit = {}) =>
209
230
  store.getState().onError?.(error);
210
231
  throw error;
211
232
  });
212
- var createVoidFetcher = (customRequestInit = {}) => (input, requestInit = {}) => fetch(input, {
213
- ...defaultRequestInit,
214
- ...customRequestInit,
215
- ...requestInit,
216
- headers: {
217
- ...defaultRequestInit.headers,
218
- ...customRequestInit.headers,
219
- ...requestInit.headers
220
- }
221
- }).then(async (res) => {
233
+ var createVoidFetcher = (customRequestInit = {}) => (input, requestInit = {}) => fetch(
234
+ input,
235
+ mergeRequestInit(
236
+ defaultRequestInit,
237
+ mergeRequestInit(customRequestInit, requestInit)
238
+ )
239
+ ).then(async (res) => {
222
240
  if (res.ok) return;
223
241
  const code = Object.values(errorStatusCode).includes(res.status) ? res.status : 999;
224
242
  const body = await res.text();
@@ -247,6 +265,7 @@ function __internal__requestUrl(...args) {
247
265
  0 && (module.exports = {
248
266
  HTTPError,
249
267
  __internal__requestUrl,
268
+ buildRequestInitWithDefaultConfig,
250
269
  createBlobFetcher,
251
270
  createJsonFetcher,
252
271
  createStore,
@@ -256,6 +275,7 @@ function __internal__requestUrl(...args) {
256
275
  errorTitle,
257
276
  getErrorStatus,
258
277
  isZodError,
278
+ mergeRequestInit,
259
279
  schemaForType,
260
280
  setApiClientConfig,
261
281
  store