@openapi-qraft/react 2.0.0-next.9 → 2.0.1-beta.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/CHANGELOG.md +149 -0
- package/dist/cjs/callbacks/ensureInfiniteQueryData.cjs +10 -0
- package/dist/cjs/callbacks/ensureInfiniteQueryData.cjs.map +1 -0
- package/dist/cjs/callbacks/ensureQueryData.cjs +10 -0
- package/dist/cjs/callbacks/ensureQueryData.cjs.map +1 -0
- package/dist/cjs/callbacks/index.cjs +4 -0
- package/dist/cjs/callbacks/index.cjs.map +1 -1
- package/dist/cjs/lib/callQueryClientFetchMethod.cjs.map +1 -1
- package/dist/cjs/lib/requestFn.cjs +67 -64
- package/dist/cjs/lib/requestFn.cjs.map +1 -1
- package/dist/cjs/lib/responseUtils.cjs +41 -0
- package/dist/cjs/lib/responseUtils.cjs.map +1 -0
- package/dist/cjs/qraftAPIClient.cjs +2 -2
- package/dist/cjs/qraftAPIClient.cjs.map +1 -1
- package/dist/cjs/unstable__responseUtils.cjs +9 -0
- package/dist/cjs/unstable__responseUtils.cjs.map +1 -0
- package/dist/esm/callbacks/ensureInfiniteQueryData.js +8 -0
- package/dist/esm/callbacks/ensureInfiniteQueryData.js.map +1 -0
- package/dist/esm/callbacks/ensureQueryData.js +8 -0
- package/dist/esm/callbacks/ensureQueryData.js.map +1 -0
- package/dist/esm/callbacks/index.js +2 -0
- package/dist/esm/callbacks/index.js.map +1 -1
- package/dist/esm/lib/callQueryClientFetchMethod.js.map +1 -1
- package/dist/esm/lib/requestFn.js +66 -63
- package/dist/esm/lib/requestFn.js.map +1 -1
- package/dist/esm/lib/responseUtils.js +38 -0
- package/dist/esm/lib/responseUtils.js.map +1 -0
- package/dist/esm/qraftAPIClient.js +2 -2
- package/dist/esm/qraftAPIClient.js.map +1 -1
- package/dist/esm/unstable__responseUtils.js +2 -0
- package/dist/esm/unstable__responseUtils.js.map +1 -0
- package/dist/types/callbacks/ensureInfiniteQueryData.d.ts +8 -0
- package/dist/types/callbacks/ensureInfiniteQueryData.d.ts.map +1 -0
- package/dist/types/callbacks/ensureQueryData.d.ts +8 -0
- package/dist/types/callbacks/ensureQueryData.d.ts.map +1 -0
- package/dist/types/callbacks/index.d.ts +2 -0
- package/dist/types/callbacks/index.d.ts.map +1 -1
- package/dist/types/lib/callQueryClientFetchMethod.d.ts +1 -1
- package/dist/types/lib/callQueryClientFetchMethod.d.ts.map +1 -1
- package/dist/types/lib/requestFn.d.ts +17 -2
- package/dist/types/lib/requestFn.d.ts.map +1 -1
- package/dist/types/lib/responseUtils.d.ts +13 -0
- package/dist/types/lib/responseUtils.d.ts.map +1 -0
- package/dist/types/qraftAPIClient.d.ts +1 -1
- package/dist/types/qraftAPIClient.d.ts.map +1 -1
- package/dist/types/unstable__responseUtils.d.ts +2 -0
- package/dist/types/unstable__responseUtils.d.ts.map +1 -0
- package/package.json +16 -11
- package/src/callbacks/ensureInfiniteQueryData.ts +29 -0
- package/src/callbacks/ensureQueryData.ts +29 -0
- package/src/callbacks/index.ts +2 -0
- package/src/lib/callQueryClientFetchMethod.ts +3 -1
- package/src/lib/requestFn.ts +92 -115
- package/src/lib/responseUtils.ts +74 -0
- package/src/qraftAPIClient.ts +5 -2
- package/src/unstable__responseUtils.ts +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureQueryData.d.ts","sourceRoot":"","sources":["../../../src/callbacks/ensureQueryData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAGxE,eAAO,MAAM,eAAe,EAAE,CAC5B,OAAO,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,EACnE,KAAK,EACL,OAAO,EAEP,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,UAAU,CACd,0BAA0B,CACxB,OAAO,EACP,KAAK,EACL,OAAO,EACP,YAAY,CACb,CAAC,iBAAiB,CAAC,CACrB,KACE,OAAO,CAAC,KAAK,CAQjB,CAAC"}
|
|
@@ -26,8 +26,10 @@ export { isMutating } from './isMutating.js';
|
|
|
26
26
|
export { useIsFetching } from './useIsFetching.js';
|
|
27
27
|
export { fetchQuery } from './fetchQuery.js';
|
|
28
28
|
export { prefetchQuery } from './prefetchQuery.js';
|
|
29
|
+
export { ensureQueryData } from './ensureQueryData.js';
|
|
29
30
|
export { fetchInfiniteQuery } from './fetchInfiniteQuery.js';
|
|
30
31
|
export { prefetchInfiniteQuery } from './prefetchInfiniteQuery.js';
|
|
32
|
+
export { ensureInfiniteQueryData } from './ensureInfiniteQueryData.js';
|
|
31
33
|
export { getQueryState } from './getQueryState.js';
|
|
32
34
|
export { getInfiniteQueryState } from './getInfiniteQueryState.js';
|
|
33
35
|
export { operationInvokeFn } from './operationInvokeFn.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/callbacks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/callbacks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -14,7 +14,7 @@ type QueryClientMethodArgs<QMethod extends keyof QueryClientPrototype> = [
|
|
|
14
14
|
},
|
|
15
15
|
queryClient: QueryClient
|
|
16
16
|
];
|
|
17
|
-
type QueryKeyMethods = QueryKeyMethod<'fetchQuery'> | QueryKeyMethod<'prefetchQuery'> | QueryKeyMethod<'fetchInfiniteQuery'> | QueryKeyMethod<'prefetchInfiniteQuery'>;
|
|
17
|
+
type QueryKeyMethods = QueryKeyMethod<'fetchQuery'> | QueryKeyMethod<'prefetchQuery'> | QueryKeyMethod<'ensureQueryData'> | QueryKeyMethod<'fetchInfiniteQuery'> | QueryKeyMethod<'prefetchInfiniteQuery'> | QueryKeyMethod<'ensureInfiniteQueryData'>;
|
|
18
18
|
type QueryClientPrototype = typeof QueryClient.prototype;
|
|
19
19
|
type QueryKeyMethod<QFMethod extends keyof typeof QueryClient.prototype> = QFMethod;
|
|
20
20
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callQueryClientFetchMethod.d.ts","sourceRoot":"","sources":["../../../src/lib/callQueryClientFetchMethod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAMjE;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,SAAS,eAAe,EAEhC,YAAY,EAAE,2BAA2B,EACzC,iBAAiB,EAAE,QAAQ,EAC3B,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GACpC,UAAU,CAAC,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAoDtD;AAED,KAAK,qBAAqB,CAAC,OAAO,SAAS,MAAM,oBAAoB,IAAI;IACvE,OAAO,EAAE,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACtD,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KACzC;IACD,WAAW,EAAE,WAAW;CACzB,CAAC;AAEF,KAAK,eAAe,GAChB,cAAc,CAAC,YAAY,CAAC,GAC5B,cAAc,CAAC,eAAe,CAAC,GAC/B,cAAc,CAAC,oBAAoB,CAAC,GACpC,cAAc,CAAC,uBAAuB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"callQueryClientFetchMethod.d.ts","sourceRoot":"","sources":["../../../src/lib/callQueryClientFetchMethod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAMjE;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,SAAS,eAAe,EAEhC,YAAY,EAAE,2BAA2B,EACzC,iBAAiB,EAAE,QAAQ,EAC3B,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GACpC,UAAU,CAAC,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAoDtD;AAED,KAAK,qBAAqB,CAAC,OAAO,SAAS,MAAM,oBAAoB,IAAI;IACvE,OAAO,EAAE,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACtD,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KACzC;IACD,WAAW,EAAE,WAAW;CACzB,CAAC;AAEF,KAAK,eAAe,GAChB,cAAc,CAAC,YAAY,CAAC,GAC5B,cAAc,CAAC,eAAe,CAAC,GAC/B,cAAc,CAAC,iBAAiB,CAAC,GACjC,cAAc,CAAC,oBAAoB,CAAC,GACpC,cAAc,CAAC,uBAAuB,CAAC,GACvC,cAAc,CAAC,yBAAyB,CAAC,CAAC;AAE9C,KAAK,oBAAoB,GAAG,OAAO,WAAW,CAAC,SAAS,CAAC;AAEzD,KAAK,cAAc,CAAC,QAAQ,SAAS,MAAM,OAAO,WAAW,CAAC,SAAS,IACrE,QAAQ,CAAC"}
|
|
@@ -15,7 +15,7 @@ import type { HeadersOptions, OperationSchema, RequestFnInfo, RequestFnOptions,
|
|
|
15
15
|
export declare function requestFn<TData, TError>(schema: OperationSchema, requestInfo: RequestFnInfo, options?: RequestFnOptions): Promise<RequestFnResponse<TData, TError>>;
|
|
16
16
|
/**
|
|
17
17
|
* This function is used to make a request to a specified endpoint.
|
|
18
|
-
* It's
|
|
18
|
+
* It's necessary to create a custom `requestFn` with a custom `urlSerializer`
|
|
19
19
|
* and `bodySerializer`, with the tree-shaking of the default `requestFn`
|
|
20
20
|
* and its serializers.
|
|
21
21
|
*
|
|
@@ -47,7 +47,22 @@ export declare function baseRequestFn<TData, TError>(requestSchema: OperationSch
|
|
|
47
47
|
*/
|
|
48
48
|
export declare function urlSerializer(schema: OperationSchema, info: Pick<RequestFnInfo, 'baseUrl' | 'parameters'>): string;
|
|
49
49
|
export declare function mergeHeaders(...allHeaders: (HeadersOptions | undefined)[]): Headers;
|
|
50
|
-
export declare function bodySerializer(schema: OperationSchema,
|
|
50
|
+
export declare function bodySerializer(schema: OperationSchema, body: RequestFnInfo['body']): {
|
|
51
|
+
body: string;
|
|
52
|
+
headers: {
|
|
53
|
+
'Content-Type': string;
|
|
54
|
+
};
|
|
55
|
+
} | {
|
|
56
|
+
body: FormData;
|
|
57
|
+
headers: {
|
|
58
|
+
'Content-Type': null;
|
|
59
|
+
};
|
|
60
|
+
} | {
|
|
61
|
+
body: Blob;
|
|
62
|
+
headers: {
|
|
63
|
+
'Content-Type': string;
|
|
64
|
+
};
|
|
65
|
+
} | undefined;
|
|
51
66
|
type WithRequired<T, K extends keyof T> = T & {
|
|
52
67
|
[_ in K]: {};
|
|
53
68
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestFn.d.ts","sourceRoot":"","sources":["../../../src/lib/requestFn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"requestFn.d.ts","sourceRoot":"","sources":["../../../src/lib/requestFn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,2CAA2C,CAAC;AAGnD;;;;;;;;;;;;GAYG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAC3C,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,aAAa,EAC1B,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAM3C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAC/C,aAAa,EAAE,eAAe,EAC9B,WAAW,EAAE,aAAa,EAC1B,OAAO,EAAE,YAAY,CAAC,gBAAgB,EAAE,eAAe,GAAG,gBAAgB,CAAC,GAC1E,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAoB3C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,YAAY,CAAC,GAClD,MAAM,CAqBR;AAoCD,wBAAgB,YAAY,CAAC,GAAG,UAAU,EAAE,CAAC,cAAc,GAAG,SAAS,CAAC,EAAE,WAuBzE;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;cAyF5B;AAgCD,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG;KAC3C,CAAC,IAAI,CAAC,GAAG,EAAE;CACb,CAAC;AAEF,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,eAAe,GAChB,MAAM,2CAA2C,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { RequestFnResponse } from '@openapi-qraft/tanstack-query-react-types';
|
|
2
|
+
/**
|
|
3
|
+
* Processes the response from the server.
|
|
4
|
+
* @beta
|
|
5
|
+
*/
|
|
6
|
+
export declare function processResponse<TData, TError>(response: Response): Promise<RequestFnResponse<TData, TError>>;
|
|
7
|
+
/**
|
|
8
|
+
* Resolves the response from the server.
|
|
9
|
+
* @beta
|
|
10
|
+
*/
|
|
11
|
+
export declare function resolveResponse<TData, TError>(error: Error): Promise<RequestFnResponse<TData, TError>>;
|
|
12
|
+
export declare function resolveResponse<TData, TError>(responseToReturn: Response, responsePromise: Promise<TData>): Promise<RequestFnResponse<TData, TError>>;
|
|
13
|
+
//# sourceMappingURL=responseUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responseUtils.d.ts","sourceRoot":"","sources":["../../../src/lib/responseUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAEnF;;;GAGG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EACjD,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CA0B3C;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAC3C,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAC7C,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAC3C,gBAAgB,EAAE,QAAQ,EAC1B,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,GAC9B,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC"}
|
|
@@ -43,7 +43,7 @@ type ServiceSchemasDeclaration<Services extends ServicesDeclaration<Services>> =
|
|
|
43
43
|
};
|
|
44
44
|
};
|
|
45
45
|
};
|
|
46
|
-
type QueryOperationCallbacks = Extract<keyof Callbacks, 'cancelQueries' | 'fetchInfiniteQuery' | 'fetchQuery' | 'getInfiniteQueryData' | 'getInfiniteQueryKey' | 'getInfiniteQueryState' | 'getQueriesData' | 'getQueryData' | 'getQueryKey' | 'getQueryState' | 'invalidateQueries' | 'isFetching' | 'prefetchInfiniteQuery' | 'prefetchQuery' | 'refetchQueries' | 'removeQueries' | 'resetQueries' | 'setInfiniteQueryData' | 'setQueriesData' | 'setQueryData' | 'useInfiniteQuery' | 'useIsFetching' | 'useQueries' | 'useQuery' | 'useSuspenseInfiniteQuery' | 'useSuspenseQueries' | 'useSuspenseQuery'>;
|
|
46
|
+
type QueryOperationCallbacks = Extract<keyof Callbacks, 'cancelQueries' | 'fetchInfiniteQuery' | 'fetchQuery' | 'getInfiniteQueryData' | 'getInfiniteQueryKey' | 'getInfiniteQueryState' | 'getQueriesData' | 'getQueryData' | 'getQueryKey' | 'getQueryState' | 'invalidateQueries' | 'isFetching' | 'prefetchInfiniteQuery' | 'prefetchQuery' | 'refetchQueries' | 'ensureQueryData' | 'ensureInfiniteQueryData' | 'removeQueries' | 'resetQueries' | 'setInfiniteQueryData' | 'setQueriesData' | 'setQueryData' | 'useInfiniteQuery' | 'useIsFetching' | 'useQueries' | 'useQuery' | 'useSuspenseInfiniteQuery' | 'useSuspenseQueries' | 'useSuspenseQuery'>;
|
|
47
47
|
type MutationOperationCallbacks = Extract<keyof Callbacks, 'getMutationKey' | 'isMutating' | 'useIsMutating' | 'useMutation' | 'useMutationState'>;
|
|
48
48
|
export type APIQueryClientServices<TServices extends ServicesDeclaration<TServices>, TCallbacks extends Callbacks> = ServicesFilteredByCallbacks<TServices, TCallbacks, QueryOperationCallbacks, MutationOperationCallbacks>;
|
|
49
49
|
export type APIBasicQueryClientServices<TServices extends ServicesDeclaration<TServices>, TCallbacks extends Callbacks> = ServicesFilteredByCallbacks<TServices, Omit<TCallbacks, 'operationInvokeFn'>, Extract<QueryOperationCallbacks, 'resetQueries' | 'removeQueries' | 'cancelQueries' | 'invalidateQueries' | 'refetchQueries' | 'getQueryKey' | 'getInfiniteQueryState' | 'getInfiniteQueryData' | 'getInfiniteQueryKey' | 'setInfiniteQueryData' | 'getQueriesData' | 'setQueriesData' | 'getQueryState' | 'getQueryData' | 'setQueryData' | 'useIsFetching' | 'isFetching'>, Extract<MutationOperationCallbacks, 'getMutationKey' | 'useMutationState' | 'useIsMutating' | 'isMutating'>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qraftAPIClient.d.ts","sourceRoot":"","sources":["../../src/qraftAPIClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,KAAK,SAAS,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,KAAK,qBAAqB,MAAM,kCAAkC,CAAC;AAC/E,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAG5B,MAAM,WAAW,2BAA2B;IAC1C,SAAS,CAAC,KAAK,EAAE,MAAM,EACrB,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,aAAa,GACzB,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gCAAgC;IAC/C,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,WAAW,2BACf,SAAQ,2BAA2B,EACjC,gCAAgC;CAAG;AAEvC;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,2BAA2B,GAC3B,2BAA2B,CAAC;AAEhC,MAAM,MAAM,sBAAsB,GAC9B,2BAA2B,GAC3B,gCAAgC,GAChC,2BAA2B,CAAC;AAEhC,wBAAgB,cAAc,CAC5B,QAAQ,SAAS,mBAAmB,CAAC,QAAQ,CAAC,EAC9C,UAAU,SAAS,SAAS,EAE5B,QAAQ,EAAE,yBAAyB,CAAC,QAAQ,CAAC,EAC7C,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,2BAA2B,GACnC,sBAAsB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEhD,wBAAgB,cAAc,CAC5B,QAAQ,SAAS,mBAAmB,CAAC,QAAQ,CAAC,EAC9C,UAAU,SAAS,QAAQ,CAAC,SAAS,CAAC,EAEtC,QAAQ,EAAE,yBAAyB,CAAC,QAAQ,CAAC,EAC7C,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,2BAA2B,GACnC,QAAQ,CAAC;AAEZ,wBAAgB,cAAc,CAC5B,QAAQ,SAAS,mBAAmB,CAAC,QAAQ,CAAC,EAC9C,UAAU,SAAS,SAAS,EAE5B,QAAQ,EAAE,yBAAyB,CAAC,QAAQ,CAAC,EAC7C,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,gCAAgC,GACxC,2BAA2B,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAErD,wBAAgB,cAAc,CAC5B,QAAQ,SAAS,mBAAmB,CAAC,QAAQ,CAAC,EAC9C,UAAU,SAAS,SAAS,EAE5B,QAAQ,EAAE,yBAAyB,CAAC,QAAQ,CAAC,EAC7C,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,2BAA2B,GACnC,sBAAsB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEhD,wBAAgB,cAAc,CAC5B,QAAQ,SAAS,mBAAmB,CAAC,QAAQ,CAAC,EAC9C,UAAU,SAAS,SAAS,EAE5B,QAAQ,EAAE,yBAAyB,CAAC,QAAQ,CAAC,EAC7C,SAAS,EAAE,UAAU,GACpB,wBAAwB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"qraftAPIClient.d.ts","sourceRoot":"","sources":["../../src/qraftAPIClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unstable__responseUtils.d.ts","sourceRoot":"","sources":["../../src/unstable__responseUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openapi-qraft/react",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1-beta.0",
|
|
4
4
|
"description": "OpenAPI client for React, providing type-safe requests and dynamic TanStack Query React Hooks via a modular, Proxy-based architecture.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "NODE_ENV=production rollup --config rollup.config.mjs && tsc --project tsconfig.build.json --emitDeclarationOnly",
|
|
@@ -15,14 +15,14 @@
|
|
|
15
15
|
},
|
|
16
16
|
"sideEffects": false,
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@openapi-qraft/tanstack-query-react-types": "2.0.
|
|
18
|
+
"@openapi-qraft/tanstack-query-react-types": "2.0.1-beta.0"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@openapi-qraft/cli": "2.0.
|
|
21
|
+
"@openapi-qraft/cli": "2.0.1-beta.0",
|
|
22
22
|
"@openapi-qraft/eslint-config": "1.0.0",
|
|
23
|
-
"@openapi-qraft/openapi-typescript-plugin": "^1.2.
|
|
24
|
-
"@openapi-qraft/rollup-config": "1.1.0
|
|
25
|
-
"@openapi-qraft/tanstack-query-react-plugin": "2.0.
|
|
23
|
+
"@openapi-qraft/openapi-typescript-plugin": "^1.2.1-beta.0",
|
|
24
|
+
"@openapi-qraft/rollup-config": "1.1.0",
|
|
25
|
+
"@openapi-qraft/tanstack-query-react-plugin": "2.0.1-beta.0",
|
|
26
26
|
"@openapi-qraft/test-fixtures": "1.0.0",
|
|
27
27
|
"@tanstack/react-query": "^5.56.2",
|
|
28
28
|
"@testing-library/jest-dom": "^5.17.0",
|
|
@@ -31,18 +31,18 @@
|
|
|
31
31
|
"@types/jscodeshift": "^0.11.11",
|
|
32
32
|
"@types/react": "^18.3.5",
|
|
33
33
|
"@vitejs/plugin-react": "^4.3.1",
|
|
34
|
-
"@vitest/coverage-v8": "^1.
|
|
35
|
-
"eslint": "^9.
|
|
34
|
+
"@vitest/coverage-v8": "^2.1.8",
|
|
35
|
+
"eslint": "^9.16.0",
|
|
36
36
|
"globals": "^15.9.0",
|
|
37
37
|
"jscodeshift": "^17.0.0",
|
|
38
38
|
"jsdom": "^25.0.0",
|
|
39
|
-
"msw": "^2.
|
|
39
|
+
"msw": "^2.6.8",
|
|
40
40
|
"prettier": "^3.3.3",
|
|
41
41
|
"query-string": "^8.2.0",
|
|
42
42
|
"react": "^18.3.1",
|
|
43
43
|
"rimraf": "^5.0.10",
|
|
44
|
-
"rollup": "~4.
|
|
45
|
-
"vitest": "^1.
|
|
44
|
+
"rollup": "~4.22.4",
|
|
45
|
+
"vitest": "^2.1.8"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"@tanstack/query-core": "^5.0.0",
|
|
@@ -77,6 +77,11 @@
|
|
|
77
77
|
"require": "./dist/cjs/qraftPredefinedParametersRequestFn.cjs",
|
|
78
78
|
"types": "./dist/types/qraftPredefinedParametersRequestFn.d.ts"
|
|
79
79
|
},
|
|
80
|
+
"./unstable__responseUtils": {
|
|
81
|
+
"import": "./dist/esm/unstable__responseUtils.js",
|
|
82
|
+
"require": "./dist/cjs/unstable__responseUtils.cjs",
|
|
83
|
+
"types": "./dist/types/unstable__responseUtils.d.ts"
|
|
84
|
+
},
|
|
80
85
|
"./package.json": "./package.json"
|
|
81
86
|
},
|
|
82
87
|
"typesVersions": {
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ServiceOperationFetchInfiniteQuery } from '@openapi-qraft/tanstack-query-react-types';
|
|
2
|
+
import type { DefaultError } from '@tanstack/query-core';
|
|
3
|
+
import type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';
|
|
4
|
+
import { callQueryClientMethodWithQueryKey } from '../lib/callQueryClientFetchMethod.js';
|
|
5
|
+
|
|
6
|
+
export const ensureInfiniteQueryData: <
|
|
7
|
+
TSchema extends { url: string; method: 'get' | 'head' | 'options' },
|
|
8
|
+
TData,
|
|
9
|
+
TParams,
|
|
10
|
+
>(
|
|
11
|
+
qraftOptions: CreateAPIQueryClientOptions,
|
|
12
|
+
schema: TSchema,
|
|
13
|
+
args: Parameters<
|
|
14
|
+
ServiceOperationFetchInfiniteQuery<
|
|
15
|
+
TSchema,
|
|
16
|
+
TData,
|
|
17
|
+
TParams,
|
|
18
|
+
DefaultError
|
|
19
|
+
>['ensureInfiniteQueryData']
|
|
20
|
+
>
|
|
21
|
+
) => Promise<TData> = (qraftOptions, schema, args) => {
|
|
22
|
+
return callQueryClientMethodWithQueryKey(
|
|
23
|
+
qraftOptions,
|
|
24
|
+
'ensureInfiniteQueryData',
|
|
25
|
+
schema,
|
|
26
|
+
true,
|
|
27
|
+
args as never
|
|
28
|
+
) as never;
|
|
29
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ServiceOperationFetchQuery } from '@openapi-qraft/tanstack-query-react-types';
|
|
2
|
+
import type { DefaultError } from '@tanstack/query-core';
|
|
3
|
+
import type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';
|
|
4
|
+
import { callQueryClientMethodWithQueryKey } from '../lib/callQueryClientFetchMethod.js';
|
|
5
|
+
|
|
6
|
+
export const ensureQueryData: <
|
|
7
|
+
TSchema extends { url: string; method: 'get' | 'head' | 'options' },
|
|
8
|
+
TData,
|
|
9
|
+
TParams,
|
|
10
|
+
>(
|
|
11
|
+
qraftOptions: CreateAPIQueryClientOptions,
|
|
12
|
+
schema: TSchema,
|
|
13
|
+
args: Parameters<
|
|
14
|
+
ServiceOperationFetchQuery<
|
|
15
|
+
TSchema,
|
|
16
|
+
TData,
|
|
17
|
+
TParams,
|
|
18
|
+
DefaultError
|
|
19
|
+
>['ensureQueryData']
|
|
20
|
+
>
|
|
21
|
+
) => Promise<TData> = (qraftOptions, schema, args) => {
|
|
22
|
+
return callQueryClientMethodWithQueryKey(
|
|
23
|
+
qraftOptions,
|
|
24
|
+
'ensureQueryData',
|
|
25
|
+
schema,
|
|
26
|
+
false,
|
|
27
|
+
args as never
|
|
28
|
+
) as never;
|
|
29
|
+
};
|
package/src/callbacks/index.ts
CHANGED
|
@@ -26,8 +26,10 @@ export { isMutating } from './isMutating.js';
|
|
|
26
26
|
export { useIsFetching } from './useIsFetching.js';
|
|
27
27
|
export { fetchQuery } from './fetchQuery.js';
|
|
28
28
|
export { prefetchQuery } from './prefetchQuery.js';
|
|
29
|
+
export { ensureQueryData } from './ensureQueryData.js';
|
|
29
30
|
export { fetchInfiniteQuery } from './fetchInfiniteQuery.js';
|
|
30
31
|
export { prefetchInfiniteQuery } from './prefetchInfiniteQuery.js';
|
|
32
|
+
export { ensureInfiniteQueryData } from './ensureInfiniteQueryData.js';
|
|
31
33
|
export { getQueryState } from './getQueryState.js';
|
|
32
34
|
export { getInfiniteQueryState } from './getInfiniteQueryState.js';
|
|
33
35
|
export { operationInvokeFn } from './operationInvokeFn.js';
|
|
@@ -84,8 +84,10 @@ type QueryClientMethodArgs<QMethod extends keyof QueryClientPrototype> = [
|
|
|
84
84
|
type QueryKeyMethods =
|
|
85
85
|
| QueryKeyMethod<'fetchQuery'>
|
|
86
86
|
| QueryKeyMethod<'prefetchQuery'>
|
|
87
|
+
| QueryKeyMethod<'ensureQueryData'>
|
|
87
88
|
| QueryKeyMethod<'fetchInfiniteQuery'>
|
|
88
|
-
| QueryKeyMethod<'prefetchInfiniteQuery'
|
|
89
|
+
| QueryKeyMethod<'prefetchInfiniteQuery'>
|
|
90
|
+
| QueryKeyMethod<'ensureInfiniteQueryData'>;
|
|
89
91
|
|
|
90
92
|
type QueryClientPrototype = typeof QueryClient.prototype;
|
|
91
93
|
|
package/src/lib/requestFn.ts
CHANGED
|
@@ -5,6 +5,7 @@ import type {
|
|
|
5
5
|
RequestFnOptions,
|
|
6
6
|
RequestFnResponse,
|
|
7
7
|
} from '@openapi-qraft/tanstack-query-react-types';
|
|
8
|
+
import { processResponse, resolveResponse } from './responseUtils.js';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* This function is used to make a request to a specified endpoint.
|
|
@@ -33,7 +34,7 @@ export async function requestFn<TData, TError>(
|
|
|
33
34
|
|
|
34
35
|
/**
|
|
35
36
|
* This function is used to make a request to a specified endpoint.
|
|
36
|
-
* It's
|
|
37
|
+
* It's necessary to create a custom `requestFn` with a custom `urlSerializer`
|
|
37
38
|
* and `bodySerializer`, with the tree-shaking of the default `requestFn`
|
|
38
39
|
* and its serializers.
|
|
39
40
|
*
|
|
@@ -54,24 +55,18 @@ export async function baseRequestFn<TData, TError>(
|
|
|
54
55
|
): Promise<RequestFnResponse<TData, TError>> {
|
|
55
56
|
const { parameters, headers, body, ...requestInfoRest } = requestInfo;
|
|
56
57
|
|
|
57
|
-
const
|
|
58
|
+
const requestPayload = options.bodySerializer(requestSchema, body);
|
|
58
59
|
|
|
59
60
|
const baseFetch = options.fetch ?? fetch;
|
|
60
61
|
|
|
61
62
|
return baseFetch(options.urlSerializer(requestSchema, requestInfo), {
|
|
62
63
|
method: requestSchema.method.toUpperCase(),
|
|
63
|
-
body:
|
|
64
|
+
body: requestPayload?.body,
|
|
64
65
|
headers: mergeHeaders(
|
|
65
|
-
{
|
|
66
|
-
|
|
67
|
-
'Content-Type': requestSchema.mediaType ?? getBodyContentType(body),
|
|
68
|
-
},
|
|
66
|
+
{ Accept: 'application/json' },
|
|
67
|
+
requestPayload?.headers,
|
|
69
68
|
headers,
|
|
70
|
-
parameters?.header
|
|
71
|
-
requestBody instanceof FormData
|
|
72
|
-
? // remove `Content-Type` if the serialized body is FormData; the browser will correctly set Content-Type & boundary expression
|
|
73
|
-
{ 'Content-Type': null }
|
|
74
|
-
: undefined
|
|
69
|
+
parameters?.header
|
|
75
70
|
),
|
|
76
71
|
...requestInfoRest,
|
|
77
72
|
})
|
|
@@ -179,46 +174,103 @@ export function mergeHeaders(...allHeaders: (HeadersOptions | undefined)[]) {
|
|
|
179
174
|
return headers;
|
|
180
175
|
}
|
|
181
176
|
|
|
182
|
-
export function bodySerializer(
|
|
183
|
-
|
|
184
|
-
|
|
177
|
+
export function bodySerializer(
|
|
178
|
+
schema: OperationSchema,
|
|
179
|
+
body: RequestFnInfo['body']
|
|
180
|
+
) {
|
|
185
181
|
if (
|
|
186
182
|
schema.method === 'get' ||
|
|
187
183
|
schema.method === 'head' ||
|
|
188
184
|
schema.method === 'options'
|
|
189
185
|
)
|
|
190
|
-
return;
|
|
186
|
+
return undefined;
|
|
187
|
+
|
|
188
|
+
if (body === undefined || body === null) return undefined;
|
|
189
|
+
|
|
190
|
+
if (typeof body === 'string') {
|
|
191
|
+
return {
|
|
192
|
+
body,
|
|
193
|
+
headers: {
|
|
194
|
+
'Content-Type':
|
|
195
|
+
// prefer text/* media type
|
|
196
|
+
schema.mediaType?.find((mediaType) => mediaType.includes('text/')) ??
|
|
197
|
+
// prefer JSON media type, assume that body is serialized as JSON
|
|
198
|
+
schema.mediaType?.find((mediaType) => mediaType.includes('/json')) ??
|
|
199
|
+
'text/plain',
|
|
200
|
+
},
|
|
201
|
+
};
|
|
202
|
+
}
|
|
191
203
|
|
|
192
|
-
if (
|
|
193
|
-
return
|
|
204
|
+
if (body instanceof FormData) {
|
|
205
|
+
return {
|
|
206
|
+
body,
|
|
207
|
+
headers: {
|
|
208
|
+
// remove `Content-Type` if the serialized body is FormData;
|
|
209
|
+
// the browser will correctly set Content-Type & boundary expression
|
|
210
|
+
'Content-Type': null,
|
|
211
|
+
},
|
|
212
|
+
};
|
|
213
|
+
}
|
|
194
214
|
|
|
195
|
-
if (
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
215
|
+
if (body instanceof Blob) {
|
|
216
|
+
return {
|
|
217
|
+
body,
|
|
218
|
+
headers: {
|
|
219
|
+
'Content-Type':
|
|
220
|
+
body.type ||
|
|
221
|
+
schema.mediaType?.find(
|
|
222
|
+
(mediaType) =>
|
|
223
|
+
!(
|
|
224
|
+
mediaType.includes('text/') &&
|
|
225
|
+
mediaType.includes('/form-data') &&
|
|
226
|
+
mediaType.includes('/json')
|
|
227
|
+
)
|
|
228
|
+
) ||
|
|
229
|
+
'application/octet-stream',
|
|
230
|
+
},
|
|
231
|
+
};
|
|
202
232
|
}
|
|
203
233
|
|
|
204
|
-
|
|
234
|
+
let jsonMediaType: string | null = null;
|
|
235
|
+
let formDataMediaType: string | null = null;
|
|
236
|
+
|
|
237
|
+
if (schema.mediaType) {
|
|
238
|
+
for (let i = 0; i < schema.mediaType.length; i++) {
|
|
239
|
+
const mediaType = schema.mediaType[i];
|
|
240
|
+
if (mediaType.includes('/json')) jsonMediaType = mediaType;
|
|
241
|
+
else if (mediaType.includes('/form-data')) formDataMediaType = mediaType;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
if (formDataMediaType) {
|
|
246
|
+
if (
|
|
247
|
+
!jsonMediaType ||
|
|
248
|
+
// Prefer FormData serialization if one of the fields is a Blob
|
|
249
|
+
Object.values(body).some((value) => value instanceof Blob)
|
|
250
|
+
) {
|
|
251
|
+
return {
|
|
252
|
+
body: getRequestBodyFormData(body),
|
|
253
|
+
headers: {
|
|
254
|
+
// remove `Content-Type` if the serialized body is FormData;
|
|
255
|
+
// the browser will correctly set Content-Type & boundary expression
|
|
256
|
+
'Content-Type': null,
|
|
257
|
+
},
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
return {
|
|
263
|
+
body: JSON.stringify(body),
|
|
264
|
+
headers: {
|
|
265
|
+
'Content-Type': jsonMediaType ?? 'application/json',
|
|
266
|
+
},
|
|
267
|
+
};
|
|
205
268
|
}
|
|
206
269
|
|
|
207
|
-
function getRequestBodyFormData(
|
|
208
|
-
body
|
|
209
|
-
|
|
270
|
+
function getRequestBodyFormData(
|
|
271
|
+
body: NonNullable<RequestFnInfo['body']>
|
|
272
|
+
): FormData {
|
|
210
273
|
if (body instanceof FormData) return body;
|
|
211
|
-
if (body === null) return;
|
|
212
|
-
|
|
213
|
-
if (body instanceof Blob) throw new Error('Blob not supported in form-data');
|
|
214
|
-
if (body instanceof ArrayBuffer)
|
|
215
|
-
throw new Error('ArrayBuffer not supported in form-data');
|
|
216
|
-
if (body instanceof URLSearchParams)
|
|
217
|
-
throw new Error('URLSearchParams not supported in form-data');
|
|
218
|
-
if (body instanceof ReadableStream)
|
|
219
|
-
throw new Error('ReadableStream not supported in form-data');
|
|
220
|
-
if (typeof body === 'string')
|
|
221
|
-
throw new Error('String not supported in form-data');
|
|
222
274
|
if (typeof body !== 'object')
|
|
223
275
|
throw new Error(`Unsupported body type ${typeof body} in form-data.`);
|
|
224
276
|
|
|
@@ -245,81 +297,6 @@ function getRequestBodyFormData({
|
|
|
245
297
|
return formData;
|
|
246
298
|
}
|
|
247
299
|
|
|
248
|
-
function getBodyContentType(body: RequestFnInfo['body']) {
|
|
249
|
-
if (!body) return;
|
|
250
|
-
if (body instanceof Blob) return body.type || 'application/octet-stream';
|
|
251
|
-
if (typeof body === 'string') return 'text/plain';
|
|
252
|
-
if (!(body instanceof FormData)) return 'application/json';
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
async function processResponse<TData, TError>(
|
|
256
|
-
response: Response
|
|
257
|
-
): Promise<RequestFnResponse<TData, TError>> {
|
|
258
|
-
if (response.status === 204 || response.headers.get('Content-Length') === '0')
|
|
259
|
-
return (
|
|
260
|
-
response.ok ? { data: {}, response } : { error: {}, response }
|
|
261
|
-
) as RequestFnResponse<TData, TError>;
|
|
262
|
-
|
|
263
|
-
if (isJsonResponse(response)) {
|
|
264
|
-
// clone response before parsing every time to allow multiple reads
|
|
265
|
-
const jsonResponse = response.clone().json();
|
|
266
|
-
return resolveResponse(
|
|
267
|
-
response,
|
|
268
|
-
response.ok ? jsonResponse : Promise.reject(await jsonResponse)
|
|
269
|
-
);
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
const jsonResponse = new Promise<TData>((resolve, reject) =>
|
|
273
|
-
// attempt to parse JSON for successful responses, otherwise fail
|
|
274
|
-
response.clone().text().then(JSON.parse).then(resolve, reject)
|
|
275
|
-
);
|
|
276
|
-
|
|
277
|
-
return resolveResponse(
|
|
278
|
-
response,
|
|
279
|
-
response.ok ? jsonResponse : Promise.reject(await jsonResponse)
|
|
280
|
-
);
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
function isJsonResponse(response: Response) {
|
|
284
|
-
const contentType = response.headers.get('Content-Type')?.toLowerCase();
|
|
285
|
-
return contentType?.includes('/json') || contentType?.includes('+json');
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
function resolveResponse<TData, TError>(
|
|
289
|
-
error: Error
|
|
290
|
-
): Promise<RequestFnResponse<TData, TError>>;
|
|
291
|
-
function resolveResponse<TData, TError>(
|
|
292
|
-
responseToReturn: Response,
|
|
293
|
-
responsePromise: Promise<TData>
|
|
294
|
-
): Promise<RequestFnResponse<TData, TError>>;
|
|
295
|
-
function resolveResponse<TData, TError>(
|
|
296
|
-
responseToReturn: Response | Error,
|
|
297
|
-
responsePromise?: Promise<TData>
|
|
298
|
-
): Promise<RequestFnResponse<TData, TError>> {
|
|
299
|
-
if (!responsePromise)
|
|
300
|
-
return Promise.reject({
|
|
301
|
-
error: responseToReturn,
|
|
302
|
-
response: undefined,
|
|
303
|
-
data: undefined,
|
|
304
|
-
});
|
|
305
|
-
|
|
306
|
-
return responsePromise
|
|
307
|
-
.then(
|
|
308
|
-
(data) =>
|
|
309
|
-
({ data, response: responseToReturn }) as RequestFnResponse<
|
|
310
|
-
TData,
|
|
311
|
-
TError
|
|
312
|
-
>
|
|
313
|
-
)
|
|
314
|
-
.catch(
|
|
315
|
-
(error) =>
|
|
316
|
-
({ error, response: responseToReturn }) as RequestFnResponse<
|
|
317
|
-
TData,
|
|
318
|
-
TError
|
|
319
|
-
>
|
|
320
|
-
);
|
|
321
|
-
}
|
|
322
|
-
|
|
323
300
|
type WithRequired<T, K extends keyof T> = T & {
|
|
324
301
|
[_ in K]: {};
|
|
325
302
|
};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { RequestFnResponse } from '@openapi-qraft/tanstack-query-react-types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Processes the response from the server.
|
|
5
|
+
* @beta
|
|
6
|
+
*/
|
|
7
|
+
export async function processResponse<TData, TError>(
|
|
8
|
+
response: Response
|
|
9
|
+
): Promise<RequestFnResponse<TData, TError>> {
|
|
10
|
+
if (response.status === 204 || response.headers.get('Content-Length') === '0')
|
|
11
|
+
return (
|
|
12
|
+
response.ok ? { data: {}, response } : { error: {}, response }
|
|
13
|
+
) as RequestFnResponse<TData, TError>;
|
|
14
|
+
|
|
15
|
+
const contentType = response.headers.get('Content-Type')?.toLowerCase();
|
|
16
|
+
|
|
17
|
+
const isJsonResponse =
|
|
18
|
+
contentType?.includes('/json') || contentType?.includes('+json');
|
|
19
|
+
|
|
20
|
+
if (isJsonResponse) {
|
|
21
|
+
// clone response before parsing every time to allow multiple reads
|
|
22
|
+
const jsonResponse = response.clone().json();
|
|
23
|
+
return resolveResponse(
|
|
24
|
+
response,
|
|
25
|
+
response.ok ? jsonResponse : Promise.reject(await jsonResponse)
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const textResponse = response.clone().text() as Promise<TData>;
|
|
30
|
+
|
|
31
|
+
return resolveResponse(
|
|
32
|
+
response,
|
|
33
|
+
response.ok ? textResponse : Promise.reject(await textResponse)
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Resolves the response from the server.
|
|
39
|
+
* @beta
|
|
40
|
+
*/
|
|
41
|
+
export function resolveResponse<TData, TError>(
|
|
42
|
+
error: Error
|
|
43
|
+
): Promise<RequestFnResponse<TData, TError>>;
|
|
44
|
+
export function resolveResponse<TData, TError>(
|
|
45
|
+
responseToReturn: Response,
|
|
46
|
+
responsePromise: Promise<TData>
|
|
47
|
+
): Promise<RequestFnResponse<TData, TError>>;
|
|
48
|
+
export function resolveResponse<TData, TError>(
|
|
49
|
+
responseToReturn: Response | Error,
|
|
50
|
+
responsePromise?: Promise<TData>
|
|
51
|
+
): Promise<RequestFnResponse<TData, TError>> {
|
|
52
|
+
if (!responsePromise)
|
|
53
|
+
return Promise.reject({
|
|
54
|
+
error: responseToReturn,
|
|
55
|
+
response: undefined,
|
|
56
|
+
data: undefined,
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
return responsePromise
|
|
60
|
+
.then(
|
|
61
|
+
(data) =>
|
|
62
|
+
({ data, response: responseToReturn }) as RequestFnResponse<
|
|
63
|
+
TData,
|
|
64
|
+
TError
|
|
65
|
+
>
|
|
66
|
+
)
|
|
67
|
+
.catch(
|
|
68
|
+
(error) =>
|
|
69
|
+
({ error, response: responseToReturn }) as RequestFnResponse<
|
|
70
|
+
TData,
|
|
71
|
+
TError
|
|
72
|
+
>
|
|
73
|
+
);
|
|
74
|
+
}
|