@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.
Files changed (56) hide show
  1. package/CHANGELOG.md +149 -0
  2. package/dist/cjs/callbacks/ensureInfiniteQueryData.cjs +10 -0
  3. package/dist/cjs/callbacks/ensureInfiniteQueryData.cjs.map +1 -0
  4. package/dist/cjs/callbacks/ensureQueryData.cjs +10 -0
  5. package/dist/cjs/callbacks/ensureQueryData.cjs.map +1 -0
  6. package/dist/cjs/callbacks/index.cjs +4 -0
  7. package/dist/cjs/callbacks/index.cjs.map +1 -1
  8. package/dist/cjs/lib/callQueryClientFetchMethod.cjs.map +1 -1
  9. package/dist/cjs/lib/requestFn.cjs +67 -64
  10. package/dist/cjs/lib/requestFn.cjs.map +1 -1
  11. package/dist/cjs/lib/responseUtils.cjs +41 -0
  12. package/dist/cjs/lib/responseUtils.cjs.map +1 -0
  13. package/dist/cjs/qraftAPIClient.cjs +2 -2
  14. package/dist/cjs/qraftAPIClient.cjs.map +1 -1
  15. package/dist/cjs/unstable__responseUtils.cjs +9 -0
  16. package/dist/cjs/unstable__responseUtils.cjs.map +1 -0
  17. package/dist/esm/callbacks/ensureInfiniteQueryData.js +8 -0
  18. package/dist/esm/callbacks/ensureInfiniteQueryData.js.map +1 -0
  19. package/dist/esm/callbacks/ensureQueryData.js +8 -0
  20. package/dist/esm/callbacks/ensureQueryData.js.map +1 -0
  21. package/dist/esm/callbacks/index.js +2 -0
  22. package/dist/esm/callbacks/index.js.map +1 -1
  23. package/dist/esm/lib/callQueryClientFetchMethod.js.map +1 -1
  24. package/dist/esm/lib/requestFn.js +66 -63
  25. package/dist/esm/lib/requestFn.js.map +1 -1
  26. package/dist/esm/lib/responseUtils.js +38 -0
  27. package/dist/esm/lib/responseUtils.js.map +1 -0
  28. package/dist/esm/qraftAPIClient.js +2 -2
  29. package/dist/esm/qraftAPIClient.js.map +1 -1
  30. package/dist/esm/unstable__responseUtils.js +2 -0
  31. package/dist/esm/unstable__responseUtils.js.map +1 -0
  32. package/dist/types/callbacks/ensureInfiniteQueryData.d.ts +8 -0
  33. package/dist/types/callbacks/ensureInfiniteQueryData.d.ts.map +1 -0
  34. package/dist/types/callbacks/ensureQueryData.d.ts +8 -0
  35. package/dist/types/callbacks/ensureQueryData.d.ts.map +1 -0
  36. package/dist/types/callbacks/index.d.ts +2 -0
  37. package/dist/types/callbacks/index.d.ts.map +1 -1
  38. package/dist/types/lib/callQueryClientFetchMethod.d.ts +1 -1
  39. package/dist/types/lib/callQueryClientFetchMethod.d.ts.map +1 -1
  40. package/dist/types/lib/requestFn.d.ts +17 -2
  41. package/dist/types/lib/requestFn.d.ts.map +1 -1
  42. package/dist/types/lib/responseUtils.d.ts +13 -0
  43. package/dist/types/lib/responseUtils.d.ts.map +1 -0
  44. package/dist/types/qraftAPIClient.d.ts +1 -1
  45. package/dist/types/qraftAPIClient.d.ts.map +1 -1
  46. package/dist/types/unstable__responseUtils.d.ts +2 -0
  47. package/dist/types/unstable__responseUtils.d.ts.map +1 -0
  48. package/package.json +16 -11
  49. package/src/callbacks/ensureInfiniteQueryData.ts +29 -0
  50. package/src/callbacks/ensureQueryData.ts +29 -0
  51. package/src/callbacks/index.ts +2 -0
  52. package/src/lib/callQueryClientFetchMethod.ts +3 -1
  53. package/src/lib/requestFn.ts +92 -115
  54. package/src/lib/responseUtils.ts +74 -0
  55. package/src/qraftAPIClient.ts +5 -2
  56. 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;AAE5C,KAAK,oBAAoB,GAAG,OAAO,WAAW,CAAC,SAAS,CAAC;AAEzD,KAAK,cAAc,CAAC,QAAQ,SAAS,MAAM,OAAO,WAAW,CAAC,SAAS,IACrE,QAAQ,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 needed to create a custom `requestFn` with a custom `urlSerializer`
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, info: RequestFnInfo): string | FormData | Blob | undefined;
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;AAEnD;;;;;;;;;;;;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,CA0B3C;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,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,wCAuB1E;AAsHD,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"}
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":"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"}
1
+ {"version":3,"file":"qraftAPIClient.d.ts","sourceRoot":"","sources":["../../src/qraftAPIClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { resolveResponse, processResponse } from './lib/responseUtils.js';
2
+ //# sourceMappingURL=unstable__responseUtils.d.ts.map
@@ -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.0-next.9",
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.0-next.9"
18
+ "@openapi-qraft/tanstack-query-react-types": "2.0.1-beta.0"
19
19
  },
20
20
  "devDependencies": {
21
- "@openapi-qraft/cli": "2.0.0-next.9",
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.0-next.9",
24
- "@openapi-qraft/rollup-config": "1.1.0-next.0",
25
- "@openapi-qraft/tanstack-query-react-plugin": "2.0.0-next.9",
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.6.0",
35
- "eslint": "^9.10.0",
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.4.7",
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.21.3",
45
- "vitest": "^1.6.0"
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
+ };
@@ -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
 
@@ -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 needed to create a custom `requestFn` with a custom `urlSerializer`
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 requestBody = options.bodySerializer(requestSchema, requestInfo);
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: requestBody,
64
+ body: requestPayload?.body,
64
65
  headers: mergeHeaders(
65
- {
66
- Accept: 'application/json',
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(schema: OperationSchema, info: RequestFnInfo) {
183
- if (info.body === undefined) return;
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 (schema.mediaType?.includes('/form-data'))
193
- return getRequestBodyFormData(info);
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
- !schema.mediaType?.includes('/json') &&
197
- (typeof info.body === 'string' ||
198
- info.body instanceof Blob ||
199
- info.body instanceof FormData)
200
- ) {
201
- return info.body;
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
- return JSON.stringify(info.body);
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
- }: Pick<RequestFnInfo, 'body'>): FormData | undefined {
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
+ }