@readyfor/api-client-base 0.244.0 → 0.244.1

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.
@@ -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,9 +3,11 @@ 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-472P3XVV.mjs";
8
+ import "./chunk-Z2IX5DM2.mjs";
9
+ import "./chunk-2ORFVC4H.mjs";
10
+ import "./chunk-GIFAQKW5.mjs";
9
11
  import "./chunk-3SEO7S3Q.mjs";
10
12
  import "./chunk-JCZWXJBU.mjs";
11
13
  export {
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
package/dist/index.mjs CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  createJsonFetcher,
4
4
  createTextFetcher,
5
5
  createVoidFetcher
6
- } from "./chunk-BNXKKSJH.mjs";
6
+ } from "./chunk-E3EKMNYV.mjs";
7
7
  import {
8
8
  HTTPError,
9
9
  errorStatusCode,
@@ -12,11 +12,16 @@ import {
12
12
  } from "./chunk-PY35XWDS.mjs";
13
13
  import {
14
14
  __internal__requestUrl
15
- } from "./chunk-RGDL3AEX.mjs";
15
+ } from "./chunk-EYKOWAWU.mjs";
16
16
  import {
17
+ buildRequestInitWithDefaultConfig,
17
18
  setApiClientConfig,
18
19
  store
19
- } from "./chunk-472P3XVV.mjs";
20
+ } from "./chunk-Z2IX5DM2.mjs";
21
+ import {
22
+ mergeRequestInit
23
+ } from "./chunk-2ORFVC4H.mjs";
24
+ import "./chunk-GIFAQKW5.mjs";
20
25
  import {
21
26
  createStore
22
27
  } from "./chunk-3SEO7S3Q.mjs";
@@ -28,6 +33,7 @@ import {
28
33
  export {
29
34
  HTTPError,
30
35
  __internal__requestUrl,
36
+ buildRequestInitWithDefaultConfig,
31
37
  createBlobFetcher,
32
38
  createJsonFetcher,
33
39
  createStore,
@@ -37,6 +43,7 @@ export {
37
43
  errorTitle,
38
44
  getErrorStatus,
39
45
  isZodError,
46
+ mergeRequestInit,
40
47
  schemaForType,
41
48
  setApiClientConfig,
42
49
  store
@@ -1,9 +1,11 @@
1
1
  import {
2
2
  ApiClientConfigProvider,
3
3
  useApiClientConfigContext
4
- } from "../chunk-5ZI7SAUQ.mjs";
4
+ } from "../chunk-T2LQ4KT5.mjs";
5
5
  import "../chunk-DH33ZDBG.mjs";
6
- import "../chunk-472P3XVV.mjs";
6
+ import "../chunk-Z2IX5DM2.mjs";
7
+ import "../chunk-2ORFVC4H.mjs";
8
+ import "../chunk-GIFAQKW5.mjs";
7
9
  import "../chunk-3SEO7S3Q.mjs";
8
10
  export {
9
11
  ApiClientConfigProvider,
@@ -52,6 +52,30 @@ var createStore = (initialState) => {
52
52
  };
53
53
  };
54
54
 
55
+ // src/utils/headersInit.ts
56
+ var mergeHeadersInit = (baseHeadersInit, overrideHeadersInit) => {
57
+ const base = new Headers(baseHeadersInit);
58
+ const override = new Headers(overrideHeadersInit);
59
+ const setCookies = base.getSetCookie().concat(override.getSetCookie());
60
+ base.delete("set-cookie");
61
+ override.delete("set-cookie");
62
+ const mergedHeaders = new Headers({
63
+ ...Object.fromEntries(base),
64
+ ...Object.fromEntries(override)
65
+ });
66
+ setCookies.forEach((cookie) => {
67
+ mergedHeaders.append("set-cookie", cookie);
68
+ });
69
+ return mergedHeaders;
70
+ };
71
+
72
+ // src/utils/requestInit.ts
73
+ var mergeRequestInit = ({ headers: baseHeaders, ...base }, { headers: overrideHeaders, ...override }) => ({
74
+ ...base,
75
+ ...override,
76
+ headers: baseHeaders === void 0 ? overrideHeaders : overrideHeaders === void 0 ? baseHeaders : mergeHeadersInit(baseHeaders, overrideHeaders)
77
+ });
78
+
55
79
  // src/apiClientConfigStore.ts
56
80
  var defaultConfig = {};
57
81
  var store = createStore(defaultConfig);
@@ -106,37 +130,9 @@ var useApiClientConfigWithSelector = (selector) => {
106
130
  };
107
131
  var useRequestInit = (customRequestInit = {}) => {
108
132
  const { defaultRequestInit = {} } = useApiClientConfig();
109
- const keys = (0, import_react3.useMemo)(
110
- () => Object.keys({
111
- ...defaultRequestInit,
112
- ...customRequestInit
113
- }),
114
- [defaultRequestInit, customRequestInit]
115
- );
116
- const get = (0, import_react3.useCallback)((key) => {
117
- if (customRequestInit[key] === void 0) {
118
- return defaultRequestInit[key];
119
- }
120
- if (defaultRequestInit[key] === void 0) {
121
- return customRequestInit[key];
122
- }
123
- if (typeof customRequestInit[key] === "object" && typeof defaultRequestInit[key] === "object") {
124
- return { ...defaultRequestInit[key], ...customRequestInit[key] };
125
- }
126
- if (Array.isArray(customRequestInit[key]) && Array.isArray(defaultRequestInit[key])) {
127
- return [...defaultRequestInit[key], ...customRequestInit[key]];
128
- }
129
- return customRequestInit[key] ?? defaultRequestInit[key];
130
- }, []);
131
133
  return (0, import_react3.useMemo)(
132
- () => keys.reduce(
133
- (acc, key) => ({
134
- ...acc,
135
- [key]: get(key)
136
- }),
137
- {}
138
- ),
139
- [keys, get]
134
+ () => mergeRequestInit(defaultRequestInit, customRequestInit),
135
+ [defaultRequestInit, customRequestInit]
140
136
  );
141
137
  };
142
138
  // Annotate the CommonJS export names for ESM import in node:
@@ -2,15 +2,17 @@ import {
2
2
  useApiClientConfig,
3
3
  useApiClientConfigWithSelector,
4
4
  useRequestInit
5
- } from "../chunk-JOSDYCJN.mjs";
5
+ } from "../chunk-X4CTIU5H.mjs";
6
6
  import {
7
7
  ApiClientConfigProvider,
8
8
  useApiClientConfigContext
9
- } from "../chunk-5ZI7SAUQ.mjs";
9
+ } from "../chunk-T2LQ4KT5.mjs";
10
10
  import {
11
11
  createSwrConfig
12
12
  } from "../chunk-DH33ZDBG.mjs";
13
- import "../chunk-472P3XVV.mjs";
13
+ import "../chunk-Z2IX5DM2.mjs";
14
+ import "../chunk-2ORFVC4H.mjs";
15
+ import "../chunk-GIFAQKW5.mjs";
14
16
  import "../chunk-3SEO7S3Q.mjs";
15
17
  export {
16
18
  ApiClientConfigProvider,
@@ -49,6 +49,30 @@ var createStore = (initialState) => {
49
49
  };
50
50
  };
51
51
 
52
+ // src/utils/headersInit.ts
53
+ var mergeHeadersInit = (baseHeadersInit, overrideHeadersInit) => {
54
+ const base = new Headers(baseHeadersInit);
55
+ const override = new Headers(overrideHeadersInit);
56
+ const setCookies = base.getSetCookie().concat(override.getSetCookie());
57
+ base.delete("set-cookie");
58
+ override.delete("set-cookie");
59
+ const mergedHeaders = new Headers({
60
+ ...Object.fromEntries(base),
61
+ ...Object.fromEntries(override)
62
+ });
63
+ setCookies.forEach((cookie) => {
64
+ mergedHeaders.append("set-cookie", cookie);
65
+ });
66
+ return mergedHeaders;
67
+ };
68
+
69
+ // src/utils/requestInit.ts
70
+ var mergeRequestInit = ({ headers: baseHeaders, ...base }, { headers: overrideHeaders, ...override }) => ({
71
+ ...base,
72
+ ...override,
73
+ headers: baseHeaders === void 0 ? overrideHeaders : overrideHeaders === void 0 ? baseHeaders : mergeHeadersInit(baseHeaders, overrideHeaders)
74
+ });
75
+
52
76
  // src/apiClientConfigStore.ts
53
77
  var defaultConfig = {};
54
78
  var store = createStore(defaultConfig);
@@ -83,37 +107,9 @@ var useApiClientConfigWithSelector = (selector) => {
83
107
  };
84
108
  var useRequestInit = (customRequestInit = {}) => {
85
109
  const { defaultRequestInit = {} } = useApiClientConfig();
86
- const keys = (0, import_react3.useMemo)(
87
- () => Object.keys({
88
- ...defaultRequestInit,
89
- ...customRequestInit
90
- }),
91
- [defaultRequestInit, customRequestInit]
92
- );
93
- const get = (0, import_react3.useCallback)((key) => {
94
- if (customRequestInit[key] === void 0) {
95
- return defaultRequestInit[key];
96
- }
97
- if (defaultRequestInit[key] === void 0) {
98
- return customRequestInit[key];
99
- }
100
- if (typeof customRequestInit[key] === "object" && typeof defaultRequestInit[key] === "object") {
101
- return { ...defaultRequestInit[key], ...customRequestInit[key] };
102
- }
103
- if (Array.isArray(customRequestInit[key]) && Array.isArray(defaultRequestInit[key])) {
104
- return [...defaultRequestInit[key], ...customRequestInit[key]];
105
- }
106
- return customRequestInit[key] ?? defaultRequestInit[key];
107
- }, []);
108
110
  return (0, import_react3.useMemo)(
109
- () => keys.reduce(
110
- (acc, key) => ({
111
- ...acc,
112
- [key]: get(key)
113
- }),
114
- {}
115
- ),
116
- [keys, get]
111
+ () => mergeRequestInit(defaultRequestInit, customRequestInit),
112
+ [defaultRequestInit, customRequestInit]
117
113
  );
118
114
  };
119
115
  // Annotate the CommonJS export names for ESM import in node:
@@ -2,10 +2,12 @@ import {
2
2
  useApiClientConfig,
3
3
  useApiClientConfigWithSelector,
4
4
  useRequestInit
5
- } from "../chunk-JOSDYCJN.mjs";
6
- import "../chunk-5ZI7SAUQ.mjs";
5
+ } from "../chunk-X4CTIU5H.mjs";
6
+ import "../chunk-T2LQ4KT5.mjs";
7
7
  import "../chunk-DH33ZDBG.mjs";
8
- import "../chunk-472P3XVV.mjs";
8
+ import "../chunk-Z2IX5DM2.mjs";
9
+ import "../chunk-2ORFVC4H.mjs";
10
+ import "../chunk-GIFAQKW5.mjs";
9
11
  import "../chunk-3SEO7S3Q.mjs";
10
12
  export {
11
13
  useApiClientConfig,
@@ -1,7 +1,9 @@
1
1
  import {
2
2
  __internal__requestUrl
3
- } from "./chunk-RGDL3AEX.mjs";
4
- import "./chunk-472P3XVV.mjs";
3
+ } from "./chunk-EYKOWAWU.mjs";
4
+ import "./chunk-Z2IX5DM2.mjs";
5
+ import "./chunk-2ORFVC4H.mjs";
6
+ import "./chunk-GIFAQKW5.mjs";
5
7
  import "./chunk-3SEO7S3Q.mjs";
6
8
  export {
7
9
  __internal__requestUrl
@@ -1,19 +1,6 @@
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
- };
1
+ import {
2
+ mergeHeadersInit
3
+ } from "../chunk-GIFAQKW5.mjs";
17
4
  export {
18
5
  mergeHeadersInit
19
6
  };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 第一引数と第二引数のequestInitをマージした新たなRequestInitを返す。
3
+ * 同じフィールドが存在する場合、第二引数の値で上書きされる。
4
+ * ただし、`headers`フィールドに関しては、`base`と`override`両方に有効なHeadersInitがある場合に限り、
5
+ * `mergeHeadersInit`を使用してヘッダーの内容をマージする
6
+ */
7
+ declare const mergeRequestInit: ({ headers: baseHeaders, ...base }: RequestInit, { headers: overrideHeaders, ...override }: RequestInit) => RequestInit;
8
+
9
+ export { mergeRequestInit };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 第一引数と第二引数のequestInitをマージした新たなRequestInitを返す。
3
+ * 同じフィールドが存在する場合、第二引数の値で上書きされる。
4
+ * ただし、`headers`フィールドに関しては、`base`と`override`両方に有効なHeadersInitがある場合に限り、
5
+ * `mergeHeadersInit`を使用してヘッダーの内容をマージする
6
+ */
7
+ declare const mergeRequestInit: ({ headers: baseHeaders, ...base }: RequestInit, { headers: overrideHeaders, ...override }: RequestInit) => RequestInit;
8
+
9
+ export { mergeRequestInit };
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/utils/requestInit.ts
21
+ var requestInit_exports = {};
22
+ __export(requestInit_exports, {
23
+ mergeRequestInit: () => mergeRequestInit
24
+ });
25
+ module.exports = __toCommonJS(requestInit_exports);
26
+
27
+ // src/utils/headersInit.ts
28
+ var mergeHeadersInit = (baseHeadersInit, overrideHeadersInit) => {
29
+ const base = new Headers(baseHeadersInit);
30
+ const override = new Headers(overrideHeadersInit);
31
+ const setCookies = base.getSetCookie().concat(override.getSetCookie());
32
+ base.delete("set-cookie");
33
+ override.delete("set-cookie");
34
+ const mergedHeaders = new Headers({
35
+ ...Object.fromEntries(base),
36
+ ...Object.fromEntries(override)
37
+ });
38
+ setCookies.forEach((cookie) => {
39
+ mergedHeaders.append("set-cookie", cookie);
40
+ });
41
+ return mergedHeaders;
42
+ };
43
+
44
+ // src/utils/requestInit.ts
45
+ var mergeRequestInit = ({ headers: baseHeaders, ...base }, { headers: overrideHeaders, ...override }) => ({
46
+ ...base,
47
+ ...override,
48
+ headers: baseHeaders === void 0 ? overrideHeaders : overrideHeaders === void 0 ? baseHeaders : mergeHeadersInit(baseHeaders, overrideHeaders)
49
+ });
50
+ // Annotate the CommonJS export names for ESM import in node:
51
+ 0 && (module.exports = {
52
+ mergeRequestInit
53
+ });
@@ -0,0 +1,7 @@
1
+ import {
2
+ mergeRequestInit
3
+ } from "../chunk-2ORFVC4H.mjs";
4
+ import "../chunk-GIFAQKW5.mjs";
5
+ export {
6
+ mergeRequestInit
7
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@readyfor/api-client-base",
3
- "version": "0.244.0",
3
+ "version": "0.244.1",
4
4
  "license": "SEE LICENSE IN LICENSE.md",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -73,5 +73,5 @@
73
73
  "!src/**/*.test.tsx"
74
74
  ]
75
75
  },
76
- "gitHead": "34d4ae8b14fae52bbd3d728f1d2a3bea51444a61"
76
+ "gitHead": "e01feee47f2b26d7433b17237d752921e747aa7f"
77
77
  }
@@ -1,13 +0,0 @@
1
- import {
2
- createStore
3
- } from "./chunk-3SEO7S3Q.mjs";
4
-
5
- // src/apiClientConfigStore.ts
6
- var defaultConfig = {};
7
- var store = createStore(defaultConfig);
8
- var setApiClientConfig = (config) => store.setState(() => config);
9
-
10
- export {
11
- store,
12
- setApiClientConfig
13
- };
@@ -1,62 +0,0 @@
1
- import {
2
- useApiClientConfigContext
3
- } from "./chunk-5ZI7SAUQ.mjs";
4
-
5
- // src/react/useApiClientConfig.ts
6
- import { useCallback, useMemo } from "react";
7
- import { useSyncExternalStore } from "use-sync-external-store/shim/index.js";
8
- import { useSyncExternalStoreWithSelector } from "use-sync-external-store/shim/with-selector.js";
9
- var useApiClientConfig = () => {
10
- const store = useApiClientConfigContext();
11
- return useSyncExternalStore(store.subscribe, store.getState);
12
- };
13
- var useApiClientConfigWithSelector = (selector) => {
14
- const store = useApiClientConfigContext();
15
- return useSyncExternalStoreWithSelector(
16
- store.subscribe,
17
- store.getState,
18
- null,
19
- selector
20
- );
21
- };
22
- var useRequestInit = (customRequestInit = {}) => {
23
- const { defaultRequestInit = {} } = useApiClientConfig();
24
- const keys = useMemo(
25
- () => Object.keys({
26
- ...defaultRequestInit,
27
- ...customRequestInit
28
- }),
29
- [defaultRequestInit, customRequestInit]
30
- );
31
- const get = useCallback((key) => {
32
- if (customRequestInit[key] === void 0) {
33
- return defaultRequestInit[key];
34
- }
35
- if (defaultRequestInit[key] === void 0) {
36
- return customRequestInit[key];
37
- }
38
- if (typeof customRequestInit[key] === "object" && typeof defaultRequestInit[key] === "object") {
39
- return { ...defaultRequestInit[key], ...customRequestInit[key] };
40
- }
41
- if (Array.isArray(customRequestInit[key]) && Array.isArray(defaultRequestInit[key])) {
42
- return [...defaultRequestInit[key], ...customRequestInit[key]];
43
- }
44
- return customRequestInit[key] ?? defaultRequestInit[key];
45
- }, []);
46
- return useMemo(
47
- () => keys.reduce(
48
- (acc, key) => ({
49
- ...acc,
50
- [key]: get(key)
51
- }),
52
- {}
53
- ),
54
- [keys, get]
55
- );
56
- };
57
-
58
- export {
59
- useApiClientConfig,
60
- useApiClientConfigWithSelector,
61
- useRequestInit
62
- };