@openapi-qraft/react 2.15.0-beta.7 → 2.15.0-beta.9

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 (59) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/cjs/callbacks/operationInvokeFn.cjs +4 -1
  3. package/dist/cjs/callbacks/operationInvokeFn.cjs.map +1 -1
  4. package/dist/cjs/callbacks/useMutation.cjs +16 -5
  5. package/dist/cjs/callbacks/useMutation.cjs.map +1 -1
  6. package/dist/cjs/callbacks/useQueries.cjs +5 -4
  7. package/dist/cjs/callbacks/useQueries.cjs.map +1 -1
  8. package/dist/cjs/callbacks/useSuspenseQueries.cjs +5 -4
  9. package/dist/cjs/callbacks/useSuspenseQueries.cjs.map +1 -1
  10. package/dist/cjs/lib/callQueryClientFetchMethod.cjs +5 -4
  11. package/dist/cjs/lib/callQueryClientFetchMethod.cjs.map +1 -1
  12. package/dist/cjs/lib/createRequestFnInfo.cjs +17 -0
  13. package/dist/cjs/lib/createRequestFnInfo.cjs.map +1 -0
  14. package/dist/cjs/lib/requestFn.cjs +1 -1
  15. package/dist/cjs/lib/requestFn.cjs.map +1 -1
  16. package/dist/cjs/lib/useComposeUseQueryOptions.cjs +5 -4
  17. package/dist/cjs/lib/useComposeUseQueryOptions.cjs.map +1 -1
  18. package/dist/cjs/qraftReactAPIClient.cjs.map +1 -1
  19. package/dist/esm/callbacks/operationInvokeFn.js +4 -1
  20. package/dist/esm/callbacks/operationInvokeFn.js.map +1 -1
  21. package/dist/esm/callbacks/useMutation.js +16 -5
  22. package/dist/esm/callbacks/useMutation.js.map +1 -1
  23. package/dist/esm/callbacks/useQueries.js +5 -4
  24. package/dist/esm/callbacks/useQueries.js.map +1 -1
  25. package/dist/esm/callbacks/useSuspenseQueries.js +5 -4
  26. package/dist/esm/callbacks/useSuspenseQueries.js.map +1 -1
  27. package/dist/esm/lib/callQueryClientFetchMethod.js +5 -4
  28. package/dist/esm/lib/callQueryClientFetchMethod.js.map +1 -1
  29. package/dist/esm/lib/createRequestFnInfo.js +15 -0
  30. package/dist/esm/lib/createRequestFnInfo.js.map +1 -0
  31. package/dist/esm/lib/requestFn.js +1 -1
  32. package/dist/esm/lib/requestFn.js.map +1 -1
  33. package/dist/esm/lib/useComposeUseQueryOptions.js +5 -4
  34. package/dist/esm/lib/useComposeUseQueryOptions.js.map +1 -1
  35. package/dist/esm/qraftReactAPIClient.js.map +1 -1
  36. package/dist/types/callbacks/operationInvokeFn.d.ts.map +1 -1
  37. package/dist/types/callbacks/useMutation.d.ts.map +1 -1
  38. package/dist/types/callbacks/useQueries.d.ts.map +1 -1
  39. package/dist/types/callbacks/useSuspenseQueries.d.ts.map +1 -1
  40. package/dist/types/index.d.ts +1 -1
  41. package/dist/types/index.d.ts.map +1 -1
  42. package/dist/types/lib/callQueryClientFetchMethod.d.ts.map +1 -1
  43. package/dist/types/lib/createRequestFnInfo.d.ts +4 -0
  44. package/dist/types/lib/createRequestFnInfo.d.ts.map +1 -0
  45. package/dist/types/lib/requestFn.d.ts.map +1 -1
  46. package/dist/types/lib/useComposeUseQueryOptions.d.ts.map +1 -1
  47. package/dist/types/qraftReactAPIClient.d.ts +28 -44
  48. package/dist/types/qraftReactAPIClient.d.ts.map +1 -1
  49. package/package.json +14 -14
  50. package/src/callbacks/operationInvokeFn.ts +3 -0
  51. package/src/callbacks/useMutation.ts +14 -1
  52. package/src/callbacks/useQueries.ts +20 -9
  53. package/src/callbacks/useSuspenseQueries.ts +16 -8
  54. package/src/index.ts +5 -1
  55. package/src/lib/callQueryClientFetchMethod.ts +17 -10
  56. package/src/lib/createRequestFnInfo.ts +22 -0
  57. package/src/lib/requestFn.ts +7 -1
  58. package/src/lib/useComposeUseQueryOptions.ts +16 -13
  59. package/src/qraftReactAPIClient.ts +112 -57
@@ -1 +1 @@
1
- {"version":3,"file":"requestFn.js","sources":["../../../src/lib/requestFn.ts"],"sourcesContent":["import type {\n HeadersOptions,\n OperationSchema,\n RequestFnInfo,\n RequestFnOptions,\n RequestFnResponse,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport { processResponse, resolveResponse } from './responseUtils.js';\n\n/**\n * This function is used to make a request to a specified endpoint.\n *\n * @template T The expected return type of the request.\n *\n * @param schema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.\n * @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.\n * @param [options] Optional. Additional options for the request. It includes custom urlSerializer, bodySerializer, and fetch function.\n *\n * @returns {Promise<T>} Returns a promise that resolves with the response of the request.\n *\n * @throws {error: object|string, response: Response} Throws an error if the request fails. The error includes the error message and the response from the server.\n */\nexport async function requestFn<TData, TError>(\n schema: OperationSchema,\n requestInfo: RequestFnInfo,\n options?: RequestFnOptions\n): Promise<RequestFnResponse<TData, TError>> {\n return baseRequestFn<TData, TError>(schema, requestInfo, {\n urlSerializer,\n bodySerializer,\n ...options,\n });\n}\n\n/**\n * This function is used to make a request to a specified endpoint.\n * It's necessary to create a custom `requestFn` with a custom `urlSerializer`\n * and `bodySerializer`, with the tree-shaking of the default `requestFn`\n * and its serializers.\n *\n * @template T The expected return type of the request.\n *\n * @param requestSchema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.\n * @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.\n * @param options The options for the request. It includes urlSerializer, bodySerializer, and fetch function. The 'urlSerializer' and 'bodySerializer' are required.\n *\n * @returns {Promise<T>} Returns a promise that resolves with the response of the request.\n *\n * @throws {error: object|string, response: Response} Throws an error if the request fails. The error includes the error message and the response from the server.\n */\nexport async function baseRequestFn<TData, TError>(\n requestSchema: OperationSchema,\n requestInfo: RequestFnInfo,\n options: WithRequired<RequestFnOptions, 'urlSerializer' | 'bodySerializer'>\n): Promise<RequestFnResponse<TData, TError>> {\n const { parameters, headers, body, ...requestInfoRest } = requestInfo;\n\n const requestPayload = options.bodySerializer(requestSchema, body);\n\n const baseFetch = options.fetch ?? fetch;\n\n return baseFetch(options.urlSerializer(requestSchema, requestInfo), {\n method: requestSchema.method.toUpperCase(),\n body: requestPayload?.body,\n headers: mergeHeaders(\n { Accept: 'application/json' },\n requestPayload?.headers,\n headers,\n parameters?.header\n ),\n ...requestInfoRest,\n })\n .then(processResponse as typeof processResponse<TData, TError>)\n .catch(resolveResponse as typeof resolveResponse<TData, TError>);\n}\n\n/**\n * Serializes the given schema and request payload into a URL string.\n *\n * This function is implemented according to the URI Template standard\n * defined in RFC 6570. It supports the expansion of path and query parameters,\n * correctly handling empty arrays, `null`, and `undefined` values by ignoring\n * them during the expansion process, as specified by the standard.\n *\n * For more information, refer to the official documentation:\n * https://datatracker.ietf.org/doc/html/rfc6570\n *\n * @param schema - The operation schema containing the URL template and method.\n * @param info - The request payload including baseUrl, path parameters, and query parameters.\n * @returns The fully constructed URL string.\n */\nexport function urlSerializer(\n schema: OperationSchema,\n info: Pick<RequestFnInfo, 'baseUrl' | 'parameters'>\n): string {\n const path = schema.url.replace(\n /{(.*?)}/g,\n (substring: string, group: string) => {\n if (\n info.parameters?.path &&\n Object.prototype.hasOwnProperty.call(info.parameters.path, group)\n ) {\n return encodeURIComponent(String(info.parameters?.path[group]));\n }\n return substring;\n }\n );\n\n const baseUrl = info.baseUrl ?? '';\n\n if (info.parameters?.query) {\n return `${baseUrl}${path}${getQueryString(info.parameters.query)}`;\n }\n\n return `${baseUrl}${path}`;\n}\n\nfunction getQueryString(params: Record<string, any>): string {\n const search = new URLSearchParams();\n\n const walk = (prefix: string, value: any) => {\n if (value == null) return;\n if (value instanceof Date)\n return search.append(prefix, value.toISOString());\n if (Array.isArray(value)) return value.forEach((v) => walk(prefix, v));\n if (typeof value === 'object') {\n return Object.entries(value).forEach(([k, v]) =>\n walk(`${prefix}[${k}]`, v)\n );\n }\n search.append(prefix, String(value));\n };\n\n Object.entries(params).forEach(([k, v]) => walk(k, v));\n\n const searchString = search.toString();\n\n return searchString ? `?${searchString}` : '';\n}\n\nexport function mergeHeaders(...allHeaders: (HeadersOptions | undefined)[]) {\n const headers = new Headers();\n\n for (const headerSet of allHeaders) {\n if (!headerSet || typeof headerSet !== 'object') {\n continue;\n }\n\n const headersIterator =\n headerSet instanceof Headers\n ? headerSet.entries()\n : Object.entries(headerSet);\n\n for (const [headerKey, headerValue] of headersIterator) {\n if (headerValue === null) {\n headers.delete(headerKey);\n } else if (headerValue !== undefined) {\n headers.set(headerKey, headerValue);\n }\n }\n }\n\n return headers;\n}\n\nexport function bodySerializer(\n schema: OperationSchema,\n body: RequestFnInfo['body']\n) {\n if (isReadOnlyOperation(schema)) return undefined;\n\n if (body === undefined || body === null) return undefined;\n\n if (typeof body === 'string') {\n return {\n body,\n headers: {\n 'Content-Type':\n // prefer text/* media type\n schema.mediaType?.find((mediaType) => mediaType.includes('text/')) ??\n // prefer JSON media type, assume that body is serialized as JSON\n schema.mediaType?.find((mediaType) => mediaType.includes('/json')) ??\n 'text/plain',\n },\n };\n }\n\n if (body instanceof FormData) {\n return {\n body,\n headers: {\n // remove `Content-Type` if the serialized body is FormData;\n // the browser will correctly set Content-Type & boundary expression\n 'Content-Type': null,\n },\n };\n }\n\n if (body instanceof Blob) {\n return {\n body,\n headers: {\n 'Content-Type':\n body.type ||\n schema.mediaType?.find(\n (mediaType) =>\n !(\n mediaType.includes('text/') &&\n mediaType.includes('/form-data') &&\n mediaType.includes('/json')\n )\n ) ||\n 'application/octet-stream',\n },\n };\n }\n\n let jsonMediaType: string | null = null;\n let formDataMediaType: string | null = null;\n\n if (schema.mediaType) {\n for (let i = 0; i < schema.mediaType.length; i++) {\n const mediaType = schema.mediaType[i];\n if (mediaType.includes('/json')) jsonMediaType = mediaType;\n else if (mediaType.includes('/form-data')) formDataMediaType = mediaType;\n }\n }\n\n if (formDataMediaType) {\n if (\n !jsonMediaType ||\n // Prefer FormData serialization if one of the fields is a Blob\n Object.values(body).some((value) => value instanceof Blob)\n ) {\n return {\n body: getRequestBodyFormData(body),\n headers: {\n // remove `Content-Type` if the serialized body is FormData;\n // the browser will correctly set Content-Type & boundary expression\n 'Content-Type': null,\n },\n };\n }\n }\n\n return {\n body: JSON.stringify(body),\n headers: {\n 'Content-Type': jsonMediaType ?? 'application/json',\n },\n };\n}\n\nfunction getRequestBodyFormData(\n body: NonNullable<RequestFnInfo['body']>\n): FormData {\n if (body instanceof FormData) return body;\n if (typeof body !== 'object')\n throw new Error(`Unsupported body type ${typeof body} in form-data.`);\n\n const formData = new FormData();\n\n const process = (key: string, value: any) => {\n if (typeof value === 'string' || value instanceof Blob) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(body)\n .filter(([_, value]) => typeof value !== 'undefined' && value !== null)\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach((v) => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n}\n\ntype WithRequired<T, K extends keyof T> = T & {\n [_ in K]: {};\n};\n\nexport type {\n RequestFn,\n RequestFnResponse,\n HeadersOptions,\n RequestFnOptions,\n RequestFnInfo,\n OperationSchema,\n} from '@openapi-qraft/tanstack-query-react-types';\n\n/**\n * @deprecated use `RequestFnInfo` instead\n */\nexport type RequestFnPayload = RequestFnInfo;\n\nfunction isReadOnlyOperation(operation: {\n readonly method:\n | 'get'\n | 'put'\n | 'post'\n | 'patch'\n | 'delete'\n | 'options'\n | 'head'\n | 'trace';\n}) {\n return (\n operation.method === 'get' ||\n operation.method === 'head' ||\n operation.method === 'trace' ||\n operation.method === 'options'\n );\n}\n"],"names":["requestFn","schema","requestInfo","options","baseRequestFn","urlSerializer","bodySerializer","requestSchema","parameters","headers","body","requestInfoRest","requestPayload","baseFetch","fetch","method","toUpperCase","mergeHeaders","Accept","header","then","processResponse","catch","resolveResponse","info","path","url","replace","substring","group","Object","prototype","hasOwnProperty","call","encodeURIComponent","String","baseUrl","query","getQueryString","params","search","URLSearchParams","walk","prefix","value","Date","append","toISOString","Array","isArray","forEach","v","entries","k","searchString","toString","allHeaders","Headers","headerSet","headersIterator","headerKey","headerValue","delete","undefined","set","isReadOnlyOperation","mediaType","find","includes","FormData","Blob","type","jsonMediaType","formDataMediaType","i","length","values","some","getRequestBodyFormData","JSON","stringify","Error","formData","process","key","filter","_","operation"],"mappings":";;AASA;;;;;;;;;;;;AAYC,IACM,eAAeA,SAAAA,CACpBC,MAAuB,EACvBC,WAA0B,EAC1BC,OAA0B,EAAA;IAE1B,OAAOC,aAAAA,CAA6BH,QAAQC,WAAAA,EAAa;AACvDG,QAAAA,aAAAA;AACAC,QAAAA,cAAAA;AACA,QAAA,GAAGH;AACL,KAAA,CAAA;AACF;AAEA;;;;;;;;;;;;;;;AAeC,IACM,eAAeC,aAAAA,CACpBG,aAA8B,EAC9BL,WAA0B,EAC1BC,OAA2E,EAAA;IAE3E,MAAM,EAAEK,UAAU,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAGC,eAAAA,EAAiB,GAAGT,WAAAA;AAE1D,IAAA,MAAMU,cAAAA,GAAiBT,OAAAA,CAAQG,cAAc,CAACC,aAAAA,EAAeG,IAAAA,CAAAA;IAE7D,MAAMG,SAAAA,GAAYV,OAAAA,CAAQW,KAAK,IAAIA,KAAAA;AAEnC,IAAA,OAAOD,SAAAA,CAAUV,OAAAA,CAAQE,aAAa,CAACE,eAAeL,WAAAA,CAAAA,EAAc;QAClEa,MAAAA,EAAQR,aAAAA,CAAcQ,MAAM,CAACC,WAAW,EAAA;AACxCN,QAAAA,IAAAA,EAAME,cAAAA,EAAgBF,IAAAA;AACtBD,QAAAA,OAAAA,EAASQ,YAAAA,CACP;YAAEC,MAAAA,EAAQ;SAAmB,EAC7BN,cAAAA,EAAgBH,OAAAA,EAChBA,OAAAA,EACAD,UAAAA,EAAYW,MAAAA,CAAAA;AAEd,QAAA,GAAGR;AACL,KAAA,CAAA,CACGS,IAAI,CAACC,eAAAA,CAAAA,CACLC,KAAK,CAACC,eAAAA,CAAAA;AACX;AAEA;;;;;;;;;;;;;;AAcC,IACM,SAASlB,aAAAA,CACdJ,MAAuB,EACvBuB,IAAmD,EAAA;IAEnD,MAAMC,IAAAA,GAAOxB,OAAOyB,GAAG,CAACC,OAAO,CAC7B,UAAA,EACA,CAACC,SAAAA,EAAmBC,KAAAA,GAAAA;AAClB,QAAA,IACEL,KAAKhB,UAAU,EAAEiB,IAAAA,IACjBK,MAAAA,CAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACT,IAAAA,CAAKhB,UAAU,CAACiB,IAAI,EAAEI,KAAAA,CAAAA,EAC3D;AACA,YAAA,OAAOK,mBAAmBC,MAAAA,CAAOX,IAAAA,CAAKhB,UAAU,EAAEiB,IAAI,CAACI,KAAAA,CAAM,CAAA,CAAA;AAC/D,QAAA;QACA,OAAOD,SAAAA;AACT,IAAA,CAAA,CAAA;IAGF,MAAMQ,OAAAA,GAAUZ,IAAAA,CAAKY,OAAO,IAAI,EAAA;IAEhC,IAAIZ,IAAAA,CAAKhB,UAAU,EAAE6B,KAAAA,EAAO;QAC1B,OAAO,CAAA,EAAGD,UAAUX,IAAAA,CAAAA,EAAOa,cAAAA,CAAed,KAAKhB,UAAU,CAAC6B,KAAK,CAAA,CAAA,CAAG;AACpE,IAAA;IAEA,OAAO,CAAA,EAAGD,UAAUX,IAAAA,CAAAA,CAAM;AAC5B;AAEA,SAASa,eAAeC,MAA2B,EAAA;AACjD,IAAA,MAAMC,SAAS,IAAIC,eAAAA,EAAAA;IAEnB,MAAMC,IAAAA,GAAO,CAACC,MAAAA,EAAgBC,KAAAA,GAAAA;AAC5B,QAAA,IAAIA,SAAS,IAAA,EAAM;QACnB,IAAIA,KAAAA,YAAiBC,MACnB,OAAOL,MAAAA,CAAOM,MAAM,CAACH,MAAAA,EAAQC,MAAMG,WAAW,EAAA,CAAA;QAChD,IAAIC,KAAAA,CAAMC,OAAO,CAACL,KAAAA,CAAAA,EAAQ,OAAOA,KAAAA,CAAMM,OAAO,CAAC,CAACC,CAAAA,GAAMT,IAAAA,CAAKC,MAAAA,EAAQQ,CAAAA,CAAAA,CAAAA;QACnE,IAAI,OAAOP,UAAU,QAAA,EAAU;AAC7B,YAAA,OAAOd,OAAOsB,OAAO,CAACR,OAAOM,OAAO,CAAC,CAAC,CAACG,CAAAA,EAAGF,EAAE,GAC1CT,IAAAA,CAAK,GAAGC,MAAAA,CAAO,CAAC,EAAEU,CAAAA,CAAE,CAAC,CAAC,EAAEF,CAAAA,CAAAA,CAAAA;AAE5B,QAAA;QACAX,MAAAA,CAAOM,MAAM,CAACH,MAAAA,EAAQR,MAAAA,CAAOS,KAAAA,CAAAA,CAAAA;AAC/B,IAAA,CAAA;IAEAd,MAAAA,CAAOsB,OAAO,CAACb,MAAAA,CAAAA,CAAQW,OAAO,CAAC,CAAC,CAACG,CAAAA,EAAGF,CAAAA,CAAE,GAAKT,IAAAA,CAAKW,CAAAA,EAAGF,CAAAA,CAAAA,CAAAA;IAEnD,MAAMG,YAAAA,GAAed,OAAOe,QAAQ,EAAA;AAEpC,IAAA,OAAOD,YAAAA,GAAe,CAAC,CAAC,EAAEA,cAAc,GAAG,EAAA;AAC7C;AAEO,SAASrC,YAAAA,CAAa,GAAGuC,UAA0C,EAAA;AACxE,IAAA,MAAM/C,UAAU,IAAIgD,OAAAA,EAAAA;IAEpB,KAAK,MAAMC,aAAaF,UAAAA,CAAY;AAClC,QAAA,IAAI,CAACE,SAAAA,IAAa,OAAOA,SAAAA,KAAc,QAAA,EAAU;AAC/C,YAAA;AACF,QAAA;QAEA,MAAMC,eAAAA,GACJD,qBAAqBD,OAAAA,GACjBC,SAAAA,CAAUN,OAAO,EAAA,GACjBtB,MAAAA,CAAOsB,OAAO,CAACM,SAAAA,CAAAA;AAErB,QAAA,KAAK,MAAM,CAACE,SAAAA,EAAWC,WAAAA,CAAY,IAAIF,eAAAA,CAAiB;AACtD,YAAA,IAAIE,gBAAgB,IAAA,EAAM;AACxBpD,gBAAAA,OAAAA,CAAQqD,MAAM,CAACF,SAAAA,CAAAA;YACjB,CAAA,MAAO,IAAIC,gBAAgBE,SAAAA,EAAW;gBACpCtD,OAAAA,CAAQuD,GAAG,CAACJ,SAAAA,EAAWC,WAAAA,CAAAA;AACzB,YAAA;AACF,QAAA;AACF,IAAA;IAEA,OAAOpD,OAAAA;AACT;AAEO,SAASH,cAAAA,CACdL,MAAuB,EACvBS,IAA2B,EAAA;IAE3B,IAAIuD,mBAAAA,CAAoBhE,SAAS,OAAO8D,SAAAA;AAExC,IAAA,IAAIrD,IAAAA,KAASqD,SAAAA,IAAarD,IAAAA,KAAS,IAAA,EAAM,OAAOqD,SAAAA;IAEhD,IAAI,OAAOrD,SAAS,QAAA,EAAU;QAC5B,OAAO;AACLA,YAAAA,IAAAA;YACAD,OAAAA,EAAS;AACP,gBAAA,cAAA;gBAEER,MAAAA,CAAOiE,SAAS,EAAEC,IAAAA,CAAK,CAACD,YAAcA,SAAAA,CAAUE,QAAQ,CAAC,OAAA,CAAA,CAAA;gBAEzDnE,MAAAA,CAAOiE,SAAS,EAAEC,IAAAA,CAAK,CAACD,YAAcA,SAAAA,CAAUE,QAAQ,CAAC,OAAA,CAAA,CAAA,IACzD;AACJ;AACF,SAAA;AACF,IAAA;AAEA,IAAA,IAAI1D,gBAAgB2D,QAAAA,EAAU;QAC5B,OAAO;AACL3D,YAAAA,IAAAA;YACAD,OAAAA,EAAS;;;gBAGP,cAAA,EAAgB;AAClB;AACF,SAAA;AACF,IAAA;AAEA,IAAA,IAAIC,gBAAgB4D,IAAAA,EAAM;QACxB,OAAO;AACL5D,YAAAA,IAAAA;YACAD,OAAAA,EAAS;gBACP,cAAA,EACEC,IAAAA,CAAK6D,IAAI,IACTtE,MAAAA,CAAOiE,SAAS,EAAEC,IAAAA,CAChB,CAACD,SAAAA,GACC,EACEA,UAAUE,QAAQ,CAAC,OAAA,CAAA,IACnBF,SAAAA,CAAUE,QAAQ,CAAC,iBACnBF,SAAAA,CAAUE,QAAQ,CAAC,OAAA,CAAO,CAAA,CAAA,IAGhC;AACJ;AACF,SAAA;AACF,IAAA;AAEA,IAAA,IAAII,aAAAA,GAA+B,IAAA;AACnC,IAAA,IAAIC,iBAAAA,GAAmC,IAAA;IAEvC,IAAIxE,MAAAA,CAAOiE,SAAS,EAAE;QACpB,IAAK,IAAIQ,IAAI,CAAA,EAAGA,CAAAA,GAAIzE,OAAOiE,SAAS,CAACS,MAAM,EAAED,CAAAA,EAAAA,CAAK;AAChD,YAAA,MAAMR,SAAAA,GAAYjE,MAAAA,CAAOiE,SAAS,CAACQ,CAAAA,CAAE;AACrC,YAAA,IAAIR,SAAAA,CAAUE,QAAQ,CAAC,OAAA,CAAA,EAAUI,aAAAA,GAAgBN,SAAAA;AAC5C,iBAAA,IAAIA,SAAAA,CAAUE,QAAQ,CAAC,YAAA,CAAA,EAAeK,iBAAAA,GAAoBP,SAAAA;AACjE,QAAA;AACF,IAAA;AAEA,IAAA,IAAIO,iBAAAA,EAAmB;QACrB,IACE,CAACD;QAED1C,MAAAA,CAAO8C,MAAM,CAAClE,IAAAA,CAAAA,CAAMmE,IAAI,CAAC,CAACjC,KAAAA,GAAUA,iBAAiB0B,IAAAA,CAAAA,EACrD;YACA,OAAO;AACL5D,gBAAAA,IAAAA,EAAMoE,sBAAAA,CAAuBpE,IAAAA,CAAAA;gBAC7BD,OAAAA,EAAS;;;oBAGP,cAAA,EAAgB;AAClB;AACF,aAAA;AACF,QAAA;AACF,IAAA;IAEA,OAAO;QACLC,IAAAA,EAAMqE,IAAAA,CAAKC,SAAS,CAACtE,IAAAA,CAAAA;QACrBD,OAAAA,EAAS;AACP,YAAA,cAAA,EAAgB+D,aAAAA,IAAiB;AACnC;AACF,KAAA;AACF;AAEA,SAASM,uBACPpE,IAAwC,EAAA;IAExC,IAAIA,IAAAA,YAAgB2D,UAAU,OAAO3D,IAAAA;AACrC,IAAA,IAAI,OAAOA,IAAAA,KAAS,QAAA,EAClB,MAAM,IAAIuE,KAAAA,CAAM,CAAC,sBAAsB,EAAE,OAAOvE,IAAAA,CAAK,cAAc,CAAC,CAAA;AAEtE,IAAA,MAAMwE,WAAW,IAAIb,QAAAA,EAAAA;IAErB,MAAMc,OAAAA,GAAU,CAACC,GAAAA,EAAaxC,KAAAA,GAAAA;AAC5B,QAAA,IAAI,OAAOA,KAAAA,KAAU,QAAA,IAAYA,KAAAA,YAAiB0B,IAAAA,EAAM;YACtDY,QAAAA,CAASpC,MAAM,CAACsC,GAAAA,EAAKxC,KAAAA,CAAAA;QACvB,CAAA,MAAO;AACLsC,YAAAA,QAAAA,CAASpC,MAAM,CAACsC,GAAAA,EAAKL,IAAAA,CAAKC,SAAS,CAACpC,KAAAA,CAAAA,CAAAA;AACtC,QAAA;AACF,IAAA,CAAA;IAEAd,MAAAA,CAAOsB,OAAO,CAAC1C,IAAAA,CAAAA,CACZ2E,MAAM,CAAC,CAAC,CAACC,GAAG1C,KAAAA,CAAM,GAAK,OAAOA,KAAAA,KAAU,WAAA,IAAeA,UAAU,IAAA,CAAA,CACjEM,OAAO,CAAC,CAAC,CAACkC,KAAKxC,KAAAA,CAAM,GAAA;QACpB,IAAII,KAAAA,CAAMC,OAAO,CAACL,KAAAA,CAAAA,EAAQ;AACxBA,YAAAA,KAAAA,CAAMM,OAAO,CAAC,CAACC,CAAAA,GAAMgC,QAAQC,GAAAA,EAAKjC,CAAAA,CAAAA,CAAAA;QACpC,CAAA,MAAO;AACLgC,YAAAA,OAAAA,CAAQC,GAAAA,EAAKxC,KAAAA,CAAAA;AACf,QAAA;AACF,IAAA,CAAA,CAAA;IAEF,OAAOsC,QAAAA;AACT;AAoBA,SAASjB,oBAAoBsB,SAU5B,EAAA;AACC,IAAA,OACEA,SAAAA,CAAUxE,MAAM,KAAK,KAAA,IACrBwE,UAAUxE,MAAM,KAAK,MAAA,IACrBwE,SAAAA,CAAUxE,MAAM,KAAK,OAAA,IACrBwE,SAAAA,CAAUxE,MAAM,KAAK,SAAA;AAEzB;;;;"}
1
+ {"version":3,"file":"requestFn.js","sources":["../../../src/lib/requestFn.ts"],"sourcesContent":["import type {\n HeadersOptions,\n OperationSchema,\n RequestFnInfo,\n RequestFnOptions,\n RequestFnResponse,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport { processResponse, resolveResponse } from './responseUtils.js';\n\n/**\n * This function is used to make a request to a specified endpoint.\n *\n * @template T The expected return type of the request.\n *\n * @param schema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.\n * @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.\n * @param [options] Optional. Additional options for the request. It includes custom urlSerializer, bodySerializer, and fetch function.\n *\n * @returns {Promise<T>} Returns a promise that resolves with the response of the request.\n *\n * @throws {error: object|string, response: Response} Throws an error if the request fails. The error includes the error message and the response from the server.\n */\nexport async function requestFn<TData, TError>(\n schema: OperationSchema,\n requestInfo: RequestFnInfo,\n options?: RequestFnOptions\n): Promise<RequestFnResponse<TData, TError>> {\n return baseRequestFn<TData, TError>(schema, requestInfo, {\n urlSerializer,\n bodySerializer,\n ...options,\n });\n}\n\n/**\n * This function is used to make a request to a specified endpoint.\n * It's necessary to create a custom `requestFn` with a custom `urlSerializer`\n * and `bodySerializer`, with the tree-shaking of the default `requestFn`\n * and its serializers.\n *\n * @template T The expected return type of the request.\n *\n * @param requestSchema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.\n * @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.\n * @param options The options for the request. It includes urlSerializer, bodySerializer, and fetch function. The 'urlSerializer' and 'bodySerializer' are required.\n *\n * @returns {Promise<T>} Returns a promise that resolves with the response of the request.\n *\n * @throws {error: object|string, response: Response} Throws an error if the request fails. The error includes the error message and the response from the server.\n */\nexport async function baseRequestFn<TData, TError>(\n requestSchema: OperationSchema,\n requestInfo: RequestFnInfo,\n options: WithRequired<RequestFnOptions, 'urlSerializer' | 'bodySerializer'>\n): Promise<RequestFnResponse<TData, TError>> {\n const {\n parameters,\n headers,\n body,\n source: _source,\n ...requestInfoRest\n } = requestInfo;\n\n const requestPayload = options.bodySerializer(requestSchema, body);\n\n const baseFetch = options.fetch ?? fetch;\n\n return baseFetch(options.urlSerializer(requestSchema, requestInfo), {\n method: requestSchema.method.toUpperCase(),\n body: requestPayload?.body,\n headers: mergeHeaders(\n { Accept: 'application/json' },\n requestPayload?.headers,\n headers,\n parameters?.header\n ),\n ...requestInfoRest,\n })\n .then(processResponse as typeof processResponse<TData, TError>)\n .catch(resolveResponse as typeof resolveResponse<TData, TError>);\n}\n\n/**\n * Serializes the given schema and request payload into a URL string.\n *\n * This function is implemented according to the URI Template standard\n * defined in RFC 6570. It supports the expansion of path and query parameters,\n * correctly handling empty arrays, `null`, and `undefined` values by ignoring\n * them during the expansion process, as specified by the standard.\n *\n * For more information, refer to the official documentation:\n * https://datatracker.ietf.org/doc/html/rfc6570\n *\n * @param schema - The operation schema containing the URL template and method.\n * @param info - The request payload including baseUrl, path parameters, and query parameters.\n * @returns The fully constructed URL string.\n */\nexport function urlSerializer(\n schema: OperationSchema,\n info: Pick<RequestFnInfo, 'baseUrl' | 'parameters'>\n): string {\n const path = schema.url.replace(\n /{(.*?)}/g,\n (substring: string, group: string) => {\n if (\n info.parameters?.path &&\n Object.prototype.hasOwnProperty.call(info.parameters.path, group)\n ) {\n return encodeURIComponent(String(info.parameters?.path[group]));\n }\n return substring;\n }\n );\n\n const baseUrl = info.baseUrl ?? '';\n\n if (info.parameters?.query) {\n return `${baseUrl}${path}${getQueryString(info.parameters.query)}`;\n }\n\n return `${baseUrl}${path}`;\n}\n\nfunction getQueryString(params: Record<string, any>): string {\n const search = new URLSearchParams();\n\n const walk = (prefix: string, value: any) => {\n if (value == null) return;\n if (value instanceof Date)\n return search.append(prefix, value.toISOString());\n if (Array.isArray(value)) return value.forEach((v) => walk(prefix, v));\n if (typeof value === 'object') {\n return Object.entries(value).forEach(([k, v]) =>\n walk(`${prefix}[${k}]`, v)\n );\n }\n search.append(prefix, String(value));\n };\n\n Object.entries(params).forEach(([k, v]) => walk(k, v));\n\n const searchString = search.toString();\n\n return searchString ? `?${searchString}` : '';\n}\n\nexport function mergeHeaders(...allHeaders: (HeadersOptions | undefined)[]) {\n const headers = new Headers();\n\n for (const headerSet of allHeaders) {\n if (!headerSet || typeof headerSet !== 'object') {\n continue;\n }\n\n const headersIterator =\n headerSet instanceof Headers\n ? headerSet.entries()\n : Object.entries(headerSet);\n\n for (const [headerKey, headerValue] of headersIterator) {\n if (headerValue === null) {\n headers.delete(headerKey);\n } else if (headerValue !== undefined) {\n headers.set(headerKey, headerValue);\n }\n }\n }\n\n return headers;\n}\n\nexport function bodySerializer(\n schema: OperationSchema,\n body: RequestFnInfo['body']\n) {\n if (isReadOnlyOperation(schema)) return undefined;\n\n if (body === undefined || body === null) return undefined;\n\n if (typeof body === 'string') {\n return {\n body,\n headers: {\n 'Content-Type':\n // prefer text/* media type\n schema.mediaType?.find((mediaType) => mediaType.includes('text/')) ??\n // prefer JSON media type, assume that body is serialized as JSON\n schema.mediaType?.find((mediaType) => mediaType.includes('/json')) ??\n 'text/plain',\n },\n };\n }\n\n if (body instanceof FormData) {\n return {\n body,\n headers: {\n // remove `Content-Type` if the serialized body is FormData;\n // the browser will correctly set Content-Type & boundary expression\n 'Content-Type': null,\n },\n };\n }\n\n if (body instanceof Blob) {\n return {\n body,\n headers: {\n 'Content-Type':\n body.type ||\n schema.mediaType?.find(\n (mediaType) =>\n !(\n mediaType.includes('text/') &&\n mediaType.includes('/form-data') &&\n mediaType.includes('/json')\n )\n ) ||\n 'application/octet-stream',\n },\n };\n }\n\n let jsonMediaType: string | null = null;\n let formDataMediaType: string | null = null;\n\n if (schema.mediaType) {\n for (let i = 0; i < schema.mediaType.length; i++) {\n const mediaType = schema.mediaType[i];\n if (mediaType.includes('/json')) jsonMediaType = mediaType;\n else if (mediaType.includes('/form-data')) formDataMediaType = mediaType;\n }\n }\n\n if (formDataMediaType) {\n if (\n !jsonMediaType ||\n // Prefer FormData serialization if one of the fields is a Blob\n Object.values(body).some((value) => value instanceof Blob)\n ) {\n return {\n body: getRequestBodyFormData(body),\n headers: {\n // remove `Content-Type` if the serialized body is FormData;\n // the browser will correctly set Content-Type & boundary expression\n 'Content-Type': null,\n },\n };\n }\n }\n\n return {\n body: JSON.stringify(body),\n headers: {\n 'Content-Type': jsonMediaType ?? 'application/json',\n },\n };\n}\n\nfunction getRequestBodyFormData(\n body: NonNullable<RequestFnInfo['body']>\n): FormData {\n if (body instanceof FormData) return body;\n if (typeof body !== 'object')\n throw new Error(`Unsupported body type ${typeof body} in form-data.`);\n\n const formData = new FormData();\n\n const process = (key: string, value: any) => {\n if (typeof value === 'string' || value instanceof Blob) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(body)\n .filter(([_, value]) => typeof value !== 'undefined' && value !== null)\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach((v) => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n}\n\ntype WithRequired<T, K extends keyof T> = T & {\n [_ in K]: {};\n};\n\nexport type {\n RequestFn,\n RequestFnResponse,\n HeadersOptions,\n RequestFnOptions,\n RequestFnInfo,\n OperationSchema,\n} from '@openapi-qraft/tanstack-query-react-types';\n\n/**\n * @deprecated use `RequestFnInfo` instead\n */\nexport type RequestFnPayload = RequestFnInfo;\n\nfunction isReadOnlyOperation(operation: {\n readonly method:\n | 'get'\n | 'put'\n | 'post'\n | 'patch'\n | 'delete'\n | 'options'\n | 'head'\n | 'trace';\n}) {\n return (\n operation.method === 'get' ||\n operation.method === 'head' ||\n operation.method === 'trace' ||\n operation.method === 'options'\n );\n}\n"],"names":["requestFn","schema","requestInfo","options","baseRequestFn","urlSerializer","bodySerializer","requestSchema","parameters","headers","body","source","_source","requestInfoRest","requestPayload","baseFetch","fetch","method","toUpperCase","mergeHeaders","Accept","header","then","processResponse","catch","resolveResponse","info","path","url","replace","substring","group","Object","prototype","hasOwnProperty","call","encodeURIComponent","String","baseUrl","query","getQueryString","params","search","URLSearchParams","walk","prefix","value","Date","append","toISOString","Array","isArray","forEach","v","entries","k","searchString","toString","allHeaders","Headers","headerSet","headersIterator","headerKey","headerValue","delete","undefined","set","isReadOnlyOperation","mediaType","find","includes","FormData","Blob","type","jsonMediaType","formDataMediaType","i","length","values","some","getRequestBodyFormData","JSON","stringify","Error","formData","process","key","filter","_","operation"],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  import { useMemo } from 'react';
3
3
  import { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';
4
4
  import { composeQueryKey } from './composeQueryKey.js';
5
+ import { createQueryRequestFnInfo } from './createRequestFnInfo.js';
5
6
  import { prepareRequestFnParameters } from './prepareRequestFnParameters.js';
6
7
  import { requestFnResponseRejecter } from './requestFnResponseRejecter.js';
7
8
  import { requestFnResponseResolver } from './requestFnResponseResolver.js';
@@ -30,15 +31,15 @@ import { requestFnResponseResolver } from './requestFnResponseResolver.js';
30
31
  qraftOptions.queryClient
31
32
  ];
32
33
  }
33
- function qraftQueryFn(requestFn, baseUrl, { queryKey: [schema, queryParams], signal, meta, pageParam }) {
34
+ function qraftQueryFn(requestFn, baseUrl, context) {
35
+ const { queryKey: [schema, queryParams], meta, pageParam } = context;
34
36
  const { parameters, body } = prepareRequestFnParameters(queryParams, pageParam, Boolean('infinite' in schema && schema.infinite));
35
- return requestFn(schema, {
37
+ return requestFn(schema, createQueryRequestFnInfo(context, {
36
38
  parameters: parameters,
37
39
  baseUrl,
38
40
  body,
39
- signal,
40
41
  meta
41
- }).then(requestFnResponseResolver, requestFnResponseRejecter);
42
+ })).then(requestFnResponseResolver, requestFnResponseRejecter);
42
43
  }
43
44
 
44
45
  export { useComposeUseQueryOptions };
@@ -1 +1 @@
1
- {"version":3,"file":"useComposeUseQueryOptions.js","sources":["../../../src/lib/useComposeUseQueryOptions.ts"],"sourcesContent":["'use client';\n\nimport type {\n ServiceOperationInfiniteQueryKey,\n ServiceOperationQueryKey,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type {\n QueryClient,\n QueryFunctionContext,\n UseQueryOptions,\n} from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { OperationSchema } from './requestFn.js';\nimport { useMemo } from 'react';\nimport { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';\nimport { composeQueryKey } from './composeQueryKey.js';\nimport { prepareRequestFnParameters } from './prepareRequestFnParameters.js';\nimport { requestFnResponseRejecter } from './requestFnResponseRejecter.js';\nimport { requestFnResponseResolver } from './requestFnResponseResolver.js';\n\n/**\n * Composes the options for useQuery, useInfiniteQuery, useSuspenseQuery, and useSuspenseQueries.\n * @internal\n */\nexport function useComposeUseQueryOptions(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: UseQueryOptionsArgs,\n infinite: boolean\n): never {\n const [parameters, options] = args;\n\n const queryFn = useMemo(\n () =>\n options?.queryFn ??\n qraftQueryFn.bind(null, qraftOptions.requestFn, qraftOptions.baseUrl),\n [qraftOptions.requestFn, qraftOptions.baseUrl, options?.queryFn]\n );\n\n const queryKey = useMemo(\n () =>\n Array.isArray(parameters)\n ? (parameters as ServiceOperationQueryKey<OperationSchema, unknown>)\n : infinite\n ? composeInfiniteQueryKey(schema, parameters)\n : composeQueryKey(schema, parameters),\n [schema, parameters, infinite]\n );\n\n return [{ ...options, queryFn, queryKey }, qraftOptions.queryClient] as never;\n}\n\nfunction qraftQueryFn(\n requestFn: CreateAPIQueryClientOptions['requestFn'],\n baseUrl: CreateAPIQueryClientOptions['baseUrl'],\n {\n queryKey: [schema, queryParams],\n signal,\n meta,\n pageParam,\n }: QueryFunctionContext<\n | ServiceOperationQueryKey<OperationSchema, unknown>\n | ServiceOperationInfiniteQueryKey<OperationSchema, unknown>\n >\n) {\n const { parameters, body } = prepareRequestFnParameters(\n queryParams,\n pageParam,\n Boolean('infinite' in schema && schema.infinite)\n );\n\n return requestFn(schema, {\n parameters: parameters as never,\n baseUrl,\n body,\n signal,\n meta,\n }).then(requestFnResponseResolver, requestFnResponseRejecter);\n}\n\ntype UseQueryOptionsArgs = [\n parameters: unknown,\n options?: UseQueryOptions,\n queryClient?: QueryClient,\n];\n"],"names":["useComposeUseQueryOptions","qraftOptions","schema","args","infinite","parameters","options","queryFn","useMemo","qraftQueryFn","bind","requestFn","baseUrl","queryKey","Array","isArray","composeInfiniteQueryKey","composeQueryKey","queryClient","queryParams","signal","meta","pageParam","body","prepareRequestFnParameters","Boolean","then","requestFnResponseResolver","requestFnResponseRejecter"],"mappings":"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"}
1
+ {"version":3,"file":"useComposeUseQueryOptions.js","sources":["../../../src/lib/useComposeUseQueryOptions.ts"],"sourcesContent":["'use client';\n\nimport type {\n ServiceOperationInfiniteQueryKey,\n ServiceOperationQueryKey,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type {\n QueryClient,\n QueryFunctionContext,\n UseQueryOptions,\n} from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { OperationSchema } from './requestFn.js';\nimport { useMemo } from 'react';\nimport { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';\nimport { composeQueryKey } from './composeQueryKey.js';\nimport { createQueryRequestFnInfo } from './createRequestFnInfo.js';\nimport { prepareRequestFnParameters } from './prepareRequestFnParameters.js';\nimport { requestFnResponseRejecter } from './requestFnResponseRejecter.js';\nimport { requestFnResponseResolver } from './requestFnResponseResolver.js';\n\n/**\n * Composes the options for useQuery, useInfiniteQuery, useSuspenseQuery, and useSuspenseQueries.\n * @internal\n */\nexport function useComposeUseQueryOptions(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: UseQueryOptionsArgs,\n infinite: boolean\n): never {\n const [parameters, options] = args;\n\n const queryFn = useMemo(\n () =>\n options?.queryFn ??\n qraftQueryFn.bind(null, qraftOptions.requestFn, qraftOptions.baseUrl),\n [qraftOptions.requestFn, qraftOptions.baseUrl, options?.queryFn]\n );\n\n const queryKey = useMemo(\n () =>\n Array.isArray(parameters)\n ? (parameters as ServiceOperationQueryKey<OperationSchema, unknown>)\n : infinite\n ? composeInfiniteQueryKey(schema, parameters)\n : composeQueryKey(schema, parameters),\n [schema, parameters, infinite]\n );\n\n return [{ ...options, queryFn, queryKey }, qraftOptions.queryClient] as never;\n}\n\nfunction qraftQueryFn(\n requestFn: CreateAPIQueryClientOptions['requestFn'],\n baseUrl: CreateAPIQueryClientOptions['baseUrl'],\n context: QueryFunctionContext<\n | ServiceOperationQueryKey<OperationSchema, unknown>\n | ServiceOperationInfiniteQueryKey<OperationSchema, unknown>\n >\n) {\n const {\n queryKey: [schema, queryParams],\n meta,\n pageParam,\n } = context;\n const { parameters, body } = prepareRequestFnParameters(\n queryParams,\n pageParam,\n Boolean('infinite' in schema && schema.infinite)\n );\n\n return requestFn(\n schema,\n createQueryRequestFnInfo(context, {\n parameters: parameters as never,\n baseUrl,\n body,\n meta,\n })\n ).then(requestFnResponseResolver, requestFnResponseRejecter);\n}\n\ntype UseQueryOptionsArgs = [\n parameters: unknown,\n options?: UseQueryOptions,\n queryClient?: QueryClient,\n];\n"],"names":["useComposeUseQueryOptions","qraftOptions","schema","args","infinite","parameters","options","queryFn","useMemo","qraftQueryFn","bind","requestFn","baseUrl","queryKey","Array","isArray","composeInfiniteQueryKey","composeQueryKey","queryClient","context","queryParams","meta","pageParam","body","prepareRequestFnParameters","Boolean","createQueryRequestFnInfo","then","requestFnResponseResolver","requestFnResponseRejecter"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"qraftReactAPIClient.js","sources":["../../src/qraftReactAPIClient.ts"],"sourcesContent":["'use client';\n\nimport type { Context } from 'react';\nimport type * as callbacks from './callbacks/index.js';\nimport type { OperationSchema } from './lib/requestFn.js';\nimport type {\n APIBasicClientServices,\n APIBasicQueryClientServices,\n APIDefaultQueryClientServices,\n APIQueryClientServices,\n APIUtilityClientServices,\n CreateAPIBasicClientOptions,\n CreateAPIBasicQueryClientOptions,\n CreateAPIClientOptions,\n CreateAPIQueryClientOptions,\n MutationOperationHookCallbacks,\n QueryOperationHookCallbacks,\n ServicesFilteredByCallbacks,\n UnionServiceOperationsDeclaration,\n UtilityOperationCallbacks,\n} from './qraftAPIClient.js';\nimport { useContext } from 'react';\nimport { qraftAPIClient } from './qraftAPIClient.js';\n\ntype ServiceMethods = typeof callbacks;\n\ntype PartialServiceMethods = Partial<ServiceMethods>;\n\n/**\n * Creates a QueryClient compatible API Client which contains all operations\n * such as `useQuery`, `useMutation` with React Context support.\n *\n * @example Fetching data with QueryClient\n * ```ts\n * const api = qraftReactAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * queryClient: new QueryClient(),\n * });\n *\n * api.service.operation({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends ServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options:\n | CreateAPIQueryClientOptions\n | Context<CreateAPIQueryClientOptions | undefined>\n): APIDefaultQueryClientServices<Services>;\n\n/**\n * It creates a QueryClient-compatible API client that contains all the hooks\n * (useQuery, useMutation) and utilities for non-context operations,\n * such as `getQueryKey`.\n *\n * @example Fetching data with QueryClient from React Context\n * ```ts\n * const api = qraftReactAPIClient(services, callbacks, context);\n *\n * api.service.operation.useQuery({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: Context<CreateAPIQueryClientOptions | undefined>\n): APIContextQueryClientServices<Services, Callbacks>;\n\n/**\n * Creates a QueryClient compatible API Client which contains all operations\n * such as `useQuery`, `useMutation`.\n *\n * @example Fetching data with QueryClient\n * ```ts\n * const api = qraftReactAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * queryClient: new QueryClient(),\n * });\n *\n * api.service.operation({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIQueryClientOptions\n): APIQueryClientServices<Services, Callbacks>;\n\n/**\n * Creates a QueryClient compatible API Client which contains\n * only state management manipulations such as `useIsMutating`,\n * `setQueryData`, `getQueryData` and `invalidateQueries`.\n *\n * @example Invalidating queries with QueryClient\n * ```ts\n * const api = qraftReactAPIClient(services, callbacks, {\n * // an instance of QueryClient shared between all clients\n * queryClient: sharedQueryClient\n * });\n *\n * api.service.operation.invalidateQueries({\n * parameters: { path: { id: 1 } },\n * });\n */\nexport function qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIBasicQueryClientOptions\n): APIBasicQueryClientServices<Services, Callbacks>;\n\n/**\n * Creates a basic API Client which contains all hooks and methods\n * that don't require an explicitly provided QueryClient.\n * Hooks like `useQuery` and `useMutation` will automatically retrieve\n * the QueryClient from the `<QueryClientProvider />` context.\n *\n * @example Fetching data with QueryClient from context\n * ```ts\n * const api = qraftReactAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * });\n *\n * // QueryClient will be retrieved from React context\n * api.service.operation.useQuery({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n *\n * @example Fetching data without QueryClient\n * ```ts\n * const api = qraftReactAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * });\n *\n * api.service.operation({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIBasicClientOptions\n): APIBasicClientServices<Services, Callbacks>;\n\n/**\n * Creates a utility API Client which contains utility operations\n * such as `getQueryKey`, `getInfiniteQueryKey`, `getMutationKey` and state hooks\n * like `useIsFetching` and `useMutationData`.\n *\n * @example Using state hooks\n * ```ts\n * const api = qraftReactAPIClient(services, callbacks);\n *\n * // Check if any query is currently fetching\n * const isFetching = api.service.operation.useIsFetching();\n * ```\n *\n * @example Getting query keys with utility client\n * ```ts\n * const api = qraftReactAPIClient(services, callbacks);\n *\n * api.service.operation.getQueryKey({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends Pick<PartialServiceMethods, UtilityOperationCallbacks>,\n>(\n services: Services,\n callbacks: Callbacks\n): APIUtilityClientServices<Services, Callbacks>;\n\nexport function qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options?:\n | CreateAPIClientOptions\n | Context<CreateAPIQueryClientOptions | undefined>\n):\n | APIQueryClientServices<Services, Callbacks>\n | APIDefaultQueryClientServices<Services>\n | APIBasicQueryClientServices<Services, Callbacks>\n | APIUtilityClientServices<Services, Callbacks>\n | APIContextQueryClientServices<Services, Callbacks> {\n if (options && 'Provider' in options && 'Consumer' in options) {\n const wrappedCallbacks = wrapHookCallbacks(callbacks, options);\n return qraftAPIClient(services, wrappedCallbacks) as never;\n }\n\n return qraftAPIClient(services, callbacks, options as never) as never;\n}\n\nfunction wrapHookCallbacks<Callbacks extends PartialServiceMethods>(\n callbacks: Callbacks,\n context: Context<CreateAPIQueryClientOptions | undefined>\n): Callbacks {\n return Object.fromEntries(\n Object.entries(callbacks).map(([callbackName, callback]) => {\n if (!callbackName.startsWith('use')) return [callbackName, callback];\n\n return [\n callbackName,\n wrapHookCallbackWithUseContext(context, callback as never),\n ];\n })\n ) as Callbacks;\n}\n\nfunction wrapHookCallbackWithUseContext(\n context: Context<CreateAPIQueryClientOptions | undefined>,\n callback: (\n options: CreateAPIClientOptions,\n schema: OperationSchema,\n args: unknown[]\n ) => any\n) {\n function useCallbackContext(\n _options: CreateAPIQueryClientOptions | undefined,\n schema: OperationSchema,\n args: unknown[]\n ) {\n const options = useContext(context);\n if (!options) throw new Error('No API Client context found');\n\n return callback(options, schema, args);\n }\n\n return useCallbackContext;\n}\n\nexport type APIContextQueryClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<keyof Callbacks, HookOperationCallbackList>\n>;\n\ntype HookOperationCallbackList =\n | UtilityOperationCallbacks\n | QueryOperationHookCallbacks\n | MutationOperationHookCallbacks;\n"],"names":["qraftReactAPIClient","services","callbacks","options","wrappedCallbacks","wrapHookCallbacks","qraftAPIClient","context","Object","fromEntries","entries","map","callbackName","callback","startsWith","wrapHookCallbackWithUseContext","useCallbackContext","_options","schema","args","useContext","Error"],"mappings":";;;;AAwMO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASA,mBAAAA,CAIdC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAkB,EAClBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAoB,CAAA,CACpBC,OAEoD,CAAA,CAAA;AAOpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAcA,OAAAA,CAAAA,CAAAA,CAAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAcA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS;QAC7D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,gBAAAA,CAAAA,CAAAA,CAAmBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAkBH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWC,OAAAA,CAAAA;AACtD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAOG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAeL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUG,gBAAAA,CAAAA;AAClC,CAAA,CAAA,CAAA,CAAA;IAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOE,cAAAA,CAAeL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAUC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWC,OAAAA,CAAAA;AAC7C;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACPH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAoB,CAAA,CACpBK,OAAyD,CAAA,CAAA;AAEzD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOC,MAAAA,CAAOC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAW,CACvBD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOE,OAAO,CAACR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWS,CAAAA,CAAAA,CAAG,CAAC,CAAC,CAACC,YAAAA,CAAAA,CAAcC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAAA,CAAA,CAAA;AACrD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAACD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAaE,UAAU,CAAC,CAAA,CAAA,CAAA,CAAA,IAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AAACF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAAcC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAEpE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACLD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AACAG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA+BR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AACzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEJ;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACPR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAyD,CAAA,CACzDM,QAIQ,CAAA,CAAA;AAER,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASG,kBAAAA,CACPC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiD,EACjDC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAuB,CAAA,CACvBC,IAAe,CAAA,CAAA;AAEf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAMhB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAUiB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWb,OAAAA,CAAAA;AAC3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAACJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,MAAM,CAAA,CAAA,CAAA,CAAIkB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAE9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOR,QAAAA,CAASV,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAASe,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQC,IAAAA,CAAAA;AACnC,CAAA,CAAA,CAAA,CAAA;IAEA,OAAOH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AACT;;"}
1
+ {"version":3,"file":"qraftReactAPIClient.js","sources":["../../src/qraftReactAPIClient.ts"],"sourcesContent":["'use client';\n\nimport type { Context } from 'react';\nimport type * as callbacks from './callbacks/index.js';\nimport type { OperationSchema } from './lib/requestFn.js';\nimport type {\n CreateAPIBasicClientOptions,\n CreateAPIBasicQueryClientOptions,\n CreateAPIClientOptions,\n CreateAPIQueryClientOptions,\n MutationOperationHookCallbacks,\n QueryOperationHookCallbacks,\n ServicesFilteredByCallbacks,\n UnionServiceOperationsDeclaration,\n UtilityOperationCallbacks,\n} from './qraftAPIClient.js';\nimport { useContext } from 'react';\nimport { qraftAPIClient } from './qraftAPIClient.js';\n\ntype ServiceMethods = typeof callbacks;\n\ntype PartialServiceMethods = Partial<ServiceMethods>;\n\n/**\n * Creates a QueryClient compatible API Client which contains all non-hook\n * methods with request and QueryClient options bound.\n *\n * @example Fetching data with QueryClient\n * ```ts\n * const api = qraftReactAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * queryClient: new QueryClient(),\n * });\n *\n * api.service.operation({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends ServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIQueryClientOptions\n): APIQueryClientMethodsServices<Services, Callbacks>;\n\n/**\n * It creates a QueryClient-compatible API client that contains all the hooks\n * (useQuery, useMutation) and utilities for non-context operations,\n * such as `getQueryKey`.\n *\n * @example Fetching data with QueryClient from React Context\n * ```ts\n * const api = qraftReactAPIClient(services, callbacks, context);\n *\n * api.service.operation.useQuery({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: Context<CreateAPIQueryClientOptions | undefined>\n): APIQueryClientHooksServices<Services, Callbacks>;\n\n/**\n * Creates a QueryClient compatible API Client which contains all non-hook\n * methods with request and QueryClient options bound.\n *\n * @example Fetching data with QueryClient\n * ```ts\n * const api = qraftReactAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * queryClient: new QueryClient(),\n * });\n *\n * api.service.operation({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIQueryClientOptions\n): APIQueryClientMethodsServices<Services, Callbacks>;\n\n/**\n * Creates a QueryClient compatible API Client which contains non-hook state\n * management methods such as `setQueryData`, `getQueryData` and\n * `invalidateQueries`.\n *\n * @example Invalidating queries with QueryClient\n * ```ts\n * const api = qraftReactAPIClient(services, callbacks, {\n * // an instance of QueryClient shared between all clients\n * queryClient: sharedQueryClient\n * });\n *\n * api.service.operation.invalidateQueries({\n * parameters: { path: { id: 1 } },\n * });\n */\nexport function qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIBasicQueryClientOptions\n): APIBasicQueryClientMethodsServices<Services, Callbacks>;\n\n/**\n * Creates a basic API Client which contains operation invoke and key helpers.\n *\n * @example Fetching data\n * ```ts\n * const api = qraftReactAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * });\n *\n * api.service.operation({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIBasicClientOptions\n): APIBasicClientMethodsServices<Services, Callbacks>;\n\n/**\n * Creates a utility API Client which contains key helper operations such as\n * `getQueryKey`, `getInfiniteQueryKey` and `getMutationKey`.\n *\n * @example Getting query keys with utility client\n * ```ts\n * const api = qraftReactAPIClient(services, callbacks);\n *\n * api.service.operation.getQueryKey({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks\n): APIUtilityClientMethodsServices<Services, Callbacks>;\n\nexport function qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options?:\n | CreateAPIClientOptions\n | Context<CreateAPIQueryClientOptions | undefined>\n):\n | APIQueryClientMethodsServices<Services, Callbacks>\n | APIBasicQueryClientMethodsServices<Services, Callbacks>\n | APIBasicClientMethodsServices<Services, Callbacks>\n | APIUtilityClientMethodsServices<Services, Callbacks>\n | APIQueryClientHooksServices<Services, Callbacks> {\n if (options && 'Provider' in options && 'Consumer' in options) {\n const wrappedCallbacks = wrapHookCallbacks(callbacks, options);\n return qraftAPIClient(services, wrappedCallbacks) as never;\n }\n\n return qraftAPIClient(services, callbacks, options as never) as never;\n}\n\nfunction wrapHookCallbacks<Callbacks extends PartialServiceMethods>(\n callbacks: Callbacks,\n context: Context<CreateAPIQueryClientOptions | undefined>\n): Callbacks {\n return Object.fromEntries(\n Object.entries(callbacks).map(([callbackName, callback]) => {\n if (!callbackName.startsWith('use')) return [callbackName, callback];\n\n return [\n callbackName,\n wrapHookCallbackWithUseContext(context, callback as never),\n ];\n })\n ) as Callbacks;\n}\n\nfunction wrapHookCallbackWithUseContext(\n context: Context<CreateAPIQueryClientOptions | undefined>,\n callback: (\n options: CreateAPIClientOptions,\n schema: OperationSchema,\n args: unknown[]\n ) => any\n) {\n function useCallbackContext(\n _options: CreateAPIQueryClientOptions | undefined,\n schema: OperationSchema,\n args: unknown[]\n ) {\n const options = useContext(context);\n if (!options) throw new Error('No API Client context found');\n\n return callback(options, schema, args);\n }\n\n return useCallbackContext;\n}\n\nexport type APIQueryClientHooksServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<keyof Callbacks, HookOperationCallbackList>\n>;\n\ntype HookOperationCallbackList =\n | UtilityOperationCallbacks\n | QueryOperationHookCallbacks\n | MutationOperationHookCallbacks;\n\nexport type APIUtilityClientMethodsServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<keyof Callbacks, KeyOperationCallbacks>\n>;\n\nexport type APIBasicClientMethodsServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<keyof Callbacks, InvokeOperationCallback | KeyOperationCallbacks>\n>;\n\nexport type APIBasicQueryClientMethodsServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<\n keyof Callbacks,\n | QueryOperationStateMethodCallbacks\n | MutationOperationStateMethodCallbacks\n | KeyOperationCallbacks\n >\n>;\n\nexport type APIQueryClientMethodsServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<\n keyof Callbacks,\n | QueryOperationMethodCallbacks\n | QueryOperationStateMethodCallbacks\n | MutationOperationStateMethodCallbacks\n | InvokeOperationCallback\n | KeyOperationCallbacks\n >\n>;\n\ntype QueryOperationMethodCallbacks = Extract<\n keyof ServiceMethods,\n | 'fetchInfiniteQuery'\n | 'fetchQuery'\n | 'prefetchInfiniteQuery'\n | 'prefetchQuery'\n | 'refetchQueries'\n | 'ensureQueryData'\n | 'ensureInfiniteQueryData'\n>;\n\ntype QueryOperationStateMethodCallbacks = Extract<\n keyof ServiceMethods,\n | 'cancelQueries'\n | 'getInfiniteQueryData'\n | 'getInfiniteQueryState'\n | 'getQueriesData'\n | 'getQueryData'\n | 'getQueryState'\n | 'invalidateQueries'\n | 'isFetching'\n | 'removeQueries'\n | 'resetQueries'\n | 'setInfiniteQueryData'\n | 'setQueriesData'\n | 'setQueryData'\n>;\n\ntype MutationOperationStateMethodCallbacks = Extract<\n keyof ServiceMethods,\n 'getMutationCache' | 'isMutating'\n>;\n\ntype InvokeOperationCallback = Extract<\n keyof ServiceMethods,\n 'operationInvokeFn'\n>;\n\ntype KeyOperationCallbacks = Extract<\n keyof ServiceMethods,\n 'getQueryKey' | 'getInfiniteQueryKey' | 'getMutationKey'\n>;\n"],"names":["qraftReactAPIClient","services","callbacks","options","wrappedCallbacks","wrapHookCallbacks","qraftAPIClient","context","Object","fromEntries","entries","map","callbackName","callback","startsWith","wrapHookCallbackWithUseContext","useCallbackContext","_options","schema","args","useContext","Error"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"operationInvokeFn.d.ts","sourceRoot":"","sources":["../../../src/callbacks/operationInvokeFn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAC9B,OAAO,SAAS,eAAe,EAC/B,KAAK,EACL,KAAK,EACL,OAAO,EACP,MAAM,EAEN,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,OAAO,EACf,IAAI,EACA,UAAU,CAAC,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,GACpE,UAAU,CACR,0BAA0B,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CACnE,KACF,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAgC5C,CAAC"}
1
+ {"version":3,"file":"operationInvokeFn.d.ts","sourceRoot":"","sources":["../../../src/callbacks/operationInvokeFn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAC9B,OAAO,SAAS,eAAe,EAC/B,KAAK,EACL,KAAK,EACL,OAAO,EACP,MAAM,EAEN,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,OAAO,EACf,IAAI,EACA,UAAU,CAAC,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,GACpE,UAAU,CACR,0BAA0B,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CACnE,KACF,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAmC5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMutation.d.ts","sourceRoot":"","sources":["../../../src/callbacks/useMutation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EAEf,kCAAkC,EACnC,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAOxE,eAAO,MAAM,WAAW,EAAE,CACxB,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,OAAO,EAElB,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE;IACJ,UAAU,CAAC,EAAE,OAAO;IACpB,OAAO,CAAC,EAAE,kCAAkC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;CACtE,KACE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAkDzD,CAAC"}
1
+ {"version":3,"file":"useMutation.d.ts","sourceRoot":"","sources":["../../../src/callbacks/useMutation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EAEf,kCAAkC,EACnC,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAOxE,eAAO,MAAM,WAAW,EAAE,CACxB,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,OAAO,EAElB,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE;IACJ,UAAU,CAAC,EAAE,OAAO;IACpB,OAAO,CAAC,EAAE,kCAAkC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;CACtE,KACE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAoDzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useQueries.d.ts","sourceRoot":"","sources":["../../../src/callbacks/useQueries.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC3B,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAOxE,eAAO,MAAM,UAAU,EAAE,CACvB,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,UAAU,CACd,0BAA0B,CACxB,eAAe,EACf,OAAO,EACP,OAAO,EACP,YAAY,CACb,CAAC,YAAY,CAAC,CAChB,KACE,cAAc,CAAC,KAAK,CA+CxB,CAAC"}
1
+ {"version":3,"file":"useQueries.d.ts","sourceRoot":"","sources":["../../../src/callbacks/useQueries.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC3B,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EAEf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAQxE,eAAO,MAAM,UAAU,EAAE,CACvB,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,UAAU,CACd,0BAA0B,CACxB,eAAe,EACf,OAAO,EACP,OAAO,EACP,YAAY,CACb,CAAC,YAAY,CAAC,CAChB,KACE,cAAc,CAAC,KAAK,CAqDxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSuspenseQueries.d.ts","sourceRoot":"","sources":["../../../src/callbacks/useSuspenseQueries.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,kCAAkC,EACnC,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAOxE,eAAO,MAAM,kBAAkB,EAAE,CAC/B,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,UAAU,CACd,kCAAkC,CAChC,eAAe,EACf,OAAO,EACP,OAAO,EACP,YAAY,CACb,CAAC,oBAAoB,CAAC,CACxB,KACE,sBAAsB,CAAC,KAAK,CAgDhC,CAAC"}
1
+ {"version":3,"file":"useSuspenseQueries.d.ts","sourceRoot":"","sources":["../../../src/callbacks/useSuspenseQueries.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,kCAAkC,EACnC,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EACV,YAAY,EAEZ,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAQxE,eAAO,MAAM,kBAAkB,EAAE,CAC/B,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,UAAU,CACd,kCAAkC,CAChC,eAAe,EACf,OAAO,EACP,OAAO,EACP,YAAY,CACb,CAAC,oBAAoB,CAAC,CACxB,KACE,sBAAsB,CAAC,KAAK,CAsDhC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { qraftAPIClient, type CreateAPIClientOptions, type CreateAPIBasicQueryClientOptions, type CreateAPIBasicClientOptions, type CreateAPIQueryClientOptions, type APIQueryClientServices, type APIDefaultQueryClientServices, type APIBasicQueryClientServices, type APIBasicClientServices, type APIUtilityClientServices, type UnionServiceOperationsDeclaration, type QraftClientOptions, } from './qraftAPIClient.js';
2
- export { qraftReactAPIClient, type APIContextQueryClientServices, } from './qraftReactAPIClient.js';
2
+ export { qraftReactAPIClient, type APIQueryClientHooksServices, type APIQueryClientMethodsServices, type APIBasicQueryClientMethodsServices, type APIBasicClientMethodsServices, type APIUtilityClientMethodsServices, } from './qraftReactAPIClient.js';
3
3
  export { requestFn, baseRequestFn, urlSerializer, bodySerializer, mergeHeaders, type RequestFn, type RequestFnResponse, type HeadersOptions, type RequestFnOptions, type RequestFnInfo, type OperationSchema, type RequestFnPayload, } from './lib/requestFn.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,sBAAsB,EAC3B,KAAK,gCAAgC,EACrC,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACtC,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,KAAK,6BAA6B,GACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,SAAS,EACT,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,sBAAsB,EAC3B,KAAK,gCAAgC,EACrC,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACtC,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,KAAK,2BAA2B,EAChC,KAAK,6BAA6B,EAClC,KAAK,kCAAkC,EACvC,KAAK,6BAA6B,EAClC,KAAK,+BAA+B,GACrC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,SAAS,EACT,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"callQueryClientFetchMethod.d.ts","sourceRoot":"","sources":["../../../src/lib/callQueryClientFetchMethod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAOjE;;;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,CAyDtD;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"}
1
+ {"version":3,"file":"callQueryClientFetchMethod.d.ts","sourceRoot":"","sources":["../../../src/lib/callQueryClientFetchMethod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAwB,MAAM,uBAAuB,CAAC;AAC/E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAQjE;;;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,CA+DtD;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"}
@@ -0,0 +1,4 @@
1
+ import type { RequestFnInfo } from '@openapi-qraft/tanstack-query-react-types';
2
+ import type { QueryFunctionContext } from '@tanstack/react-query';
3
+ export declare function createQueryRequestFnInfo(context: QueryFunctionContext, requestInfo: Omit<RequestFnInfo, 'signal' | 'source'>): RequestFnInfo;
4
+ //# sourceMappingURL=createRequestFnInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRequestFnInfo.d.ts","sourceRoot":"","sources":["../../../src/lib/createRequestFnInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,oBAAoB,EAC7B,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,QAAQ,CAAC,GACpD,aAAa,CAef"}
@@ -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;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;AAyBD,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;;;;;;;;;;;;;;;cAoF5B;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"}
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,CA0B3C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,YAAY,CAAC,GAClD,MAAM,CAqBR;AAyBD,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;;;;;;;;;;;;;;;cAoF5B;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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useComposeUseQueryOptions.d.ts","sourceRoot":"","sources":["../../../src/lib/useComposeUseQueryOptions.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,WAAW,EAEX,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAQtD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,mBAAmB,EACzB,QAAQ,EAAE,OAAO,GAChB,KAAK,CAqBP;AA8BD,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,OAAO;IACnB,OAAO,CAAC,EAAE,eAAe;IACzB,WAAW,CAAC,EAAE,WAAW;CAC1B,CAAC"}
1
+ {"version":3,"file":"useComposeUseQueryOptions.d.ts","sourceRoot":"","sources":["../../../src/lib/useComposeUseQueryOptions.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,WAAW,EAEX,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAStD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,mBAAmB,EACzB,QAAQ,EAAE,OAAO,GAChB,KAAK,CAqBP;AAgCD,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,OAAO;IACnB,OAAO,CAAC,EAAE,eAAe;IACzB,WAAW,CAAC,EAAE,WAAW;CAC1B,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import type { Context } from 'react';
2
2
  import type * as callbacks from './callbacks/index.js';
3
- import type { APIBasicClientServices, APIBasicQueryClientServices, APIDefaultQueryClientServices, APIQueryClientServices, APIUtilityClientServices, CreateAPIBasicClientOptions, CreateAPIBasicQueryClientOptions, CreateAPIQueryClientOptions, MutationOperationHookCallbacks, QueryOperationHookCallbacks, ServicesFilteredByCallbacks, UnionServiceOperationsDeclaration, UtilityOperationCallbacks } from './qraftAPIClient.js';
3
+ import type { CreateAPIBasicClientOptions, CreateAPIBasicQueryClientOptions, CreateAPIQueryClientOptions, MutationOperationHookCallbacks, QueryOperationHookCallbacks, ServicesFilteredByCallbacks, UnionServiceOperationsDeclaration, UtilityOperationCallbacks } from './qraftAPIClient.js';
4
4
  type ServiceMethods = typeof callbacks;
5
5
  type PartialServiceMethods = Partial<ServiceMethods>;
6
6
  /**
7
- * Creates a QueryClient compatible API Client which contains all operations
8
- * such as `useQuery`, `useMutation` with React Context support.
7
+ * Creates a QueryClient compatible API Client which contains all non-hook
8
+ * methods with request and QueryClient options bound.
9
9
  *
10
10
  * @example Fetching data with QueryClient
11
11
  * ```ts
@@ -20,7 +20,7 @@ type PartialServiceMethods = Partial<ServiceMethods>;
20
20
  * });
21
21
  * ```
22
22
  */
23
- export declare function qraftReactAPIClient<Services extends UnionServiceOperationsDeclaration<Services>, Callbacks extends ServiceMethods>(services: Services, callbacks: Callbacks, options: CreateAPIQueryClientOptions | Context<CreateAPIQueryClientOptions | undefined>): APIDefaultQueryClientServices<Services>;
23
+ export declare function qraftReactAPIClient<Services extends UnionServiceOperationsDeclaration<Services>, Callbacks extends ServiceMethods>(services: Services, callbacks: Callbacks, options: CreateAPIQueryClientOptions): APIQueryClientMethodsServices<Services, Callbacks>;
24
24
  /**
25
25
  * It creates a QueryClient-compatible API client that contains all the hooks
26
26
  * (useQuery, useMutation) and utilities for non-context operations,
@@ -35,10 +35,10 @@ export declare function qraftReactAPIClient<Services extends UnionServiceOperati
35
35
  * });
36
36
  * ```
37
37
  */
38
- export declare function qraftReactAPIClient<Services extends UnionServiceOperationsDeclaration<Services>, Callbacks extends PartialServiceMethods>(services: Services, callbacks: Callbacks, options: Context<CreateAPIQueryClientOptions | undefined>): APIContextQueryClientServices<Services, Callbacks>;
38
+ export declare function qraftReactAPIClient<Services extends UnionServiceOperationsDeclaration<Services>, Callbacks extends PartialServiceMethods>(services: Services, callbacks: Callbacks, options: Context<CreateAPIQueryClientOptions | undefined>): APIQueryClientHooksServices<Services, Callbacks>;
39
39
  /**
40
- * Creates a QueryClient compatible API Client which contains all operations
41
- * such as `useQuery`, `useMutation`.
40
+ * Creates a QueryClient compatible API Client which contains all non-hook
41
+ * methods with request and QueryClient options bound.
42
42
  *
43
43
  * @example Fetching data with QueryClient
44
44
  * ```ts
@@ -53,11 +53,11 @@ export declare function qraftReactAPIClient<Services extends UnionServiceOperati
53
53
  * });
54
54
  * ```
55
55
  */
56
- export declare function qraftReactAPIClient<Services extends UnionServiceOperationsDeclaration<Services>, Callbacks extends PartialServiceMethods>(services: Services, callbacks: Callbacks, options: CreateAPIQueryClientOptions): APIQueryClientServices<Services, Callbacks>;
56
+ export declare function qraftReactAPIClient<Services extends UnionServiceOperationsDeclaration<Services>, Callbacks extends PartialServiceMethods>(services: Services, callbacks: Callbacks, options: CreateAPIQueryClientOptions): APIQueryClientMethodsServices<Services, Callbacks>;
57
57
  /**
58
- * Creates a QueryClient compatible API Client which contains
59
- * only state management manipulations such as `useIsMutating`,
60
- * `setQueryData`, `getQueryData` and `invalidateQueries`.
58
+ * Creates a QueryClient compatible API Client which contains non-hook state
59
+ * management methods such as `setQueryData`, `getQueryData` and
60
+ * `invalidateQueries`.
61
61
  *
62
62
  * @example Invalidating queries with QueryClient
63
63
  * ```ts
@@ -70,27 +70,11 @@ export declare function qraftReactAPIClient<Services extends UnionServiceOperati
70
70
  * parameters: { path: { id: 1 } },
71
71
  * });
72
72
  */
73
- export declare function qraftReactAPIClient<Services extends UnionServiceOperationsDeclaration<Services>, Callbacks extends PartialServiceMethods>(services: Services, callbacks: Callbacks, options: CreateAPIBasicQueryClientOptions): APIBasicQueryClientServices<Services, Callbacks>;
73
+ export declare function qraftReactAPIClient<Services extends UnionServiceOperationsDeclaration<Services>, Callbacks extends PartialServiceMethods>(services: Services, callbacks: Callbacks, options: CreateAPIBasicQueryClientOptions): APIBasicQueryClientMethodsServices<Services, Callbacks>;
74
74
  /**
75
- * Creates a basic API Client which contains all hooks and methods
76
- * that don't require an explicitly provided QueryClient.
77
- * Hooks like `useQuery` and `useMutation` will automatically retrieve
78
- * the QueryClient from the `<QueryClientProvider />` context.
75
+ * Creates a basic API Client which contains operation invoke and key helpers.
79
76
  *
80
- * @example Fetching data with QueryClient from context
81
- * ```ts
82
- * const api = qraftReactAPIClient(services, callbacks, {
83
- * requestFn: requestFn,
84
- * baseUrl: 'https://api.example.com',
85
- * });
86
- *
87
- * // QueryClient will be retrieved from React context
88
- * api.service.operation.useQuery({
89
- * parameters: { path: { id: 1 } },
90
- * });
91
- * ```
92
- *
93
- * @example Fetching data without QueryClient
77
+ * @example Fetching data
94
78
  * ```ts
95
79
  * const api = qraftReactAPIClient(services, callbacks, {
96
80
  * requestFn: requestFn,
@@ -102,19 +86,10 @@ export declare function qraftReactAPIClient<Services extends UnionServiceOperati
102
86
  * });
103
87
  * ```
104
88
  */
105
- export declare function qraftReactAPIClient<Services extends UnionServiceOperationsDeclaration<Services>, Callbacks extends PartialServiceMethods>(services: Services, callbacks: Callbacks, options: CreateAPIBasicClientOptions): APIBasicClientServices<Services, Callbacks>;
89
+ export declare function qraftReactAPIClient<Services extends UnionServiceOperationsDeclaration<Services>, Callbacks extends PartialServiceMethods>(services: Services, callbacks: Callbacks, options: CreateAPIBasicClientOptions): APIBasicClientMethodsServices<Services, Callbacks>;
106
90
  /**
107
- * Creates a utility API Client which contains utility operations
108
- * such as `getQueryKey`, `getInfiniteQueryKey`, `getMutationKey` and state hooks
109
- * like `useIsFetching` and `useMutationData`.
110
- *
111
- * @example Using state hooks
112
- * ```ts
113
- * const api = qraftReactAPIClient(services, callbacks);
114
- *
115
- * // Check if any query is currently fetching
116
- * const isFetching = api.service.operation.useIsFetching();
117
- * ```
91
+ * Creates a utility API Client which contains key helper operations such as
92
+ * `getQueryKey`, `getInfiniteQueryKey` and `getMutationKey`.
118
93
  *
119
94
  * @example Getting query keys with utility client
120
95
  * ```ts
@@ -125,8 +100,17 @@ export declare function qraftReactAPIClient<Services extends UnionServiceOperati
125
100
  * });
126
101
  * ```
127
102
  */
128
- export declare function qraftReactAPIClient<Services extends UnionServiceOperationsDeclaration<Services>, Callbacks extends Pick<PartialServiceMethods, UtilityOperationCallbacks>>(services: Services, callbacks: Callbacks): APIUtilityClientServices<Services, Callbacks>;
129
- export type APIContextQueryClientServices<Services extends UnionServiceOperationsDeclaration<Services>, Callbacks extends PartialServiceMethods> = ServicesFilteredByCallbacks<Services, Extract<keyof Callbacks, HookOperationCallbackList>>;
103
+ export declare function qraftReactAPIClient<Services extends UnionServiceOperationsDeclaration<Services>, Callbacks extends PartialServiceMethods>(services: Services, callbacks: Callbacks): APIUtilityClientMethodsServices<Services, Callbacks>;
104
+ export type APIQueryClientHooksServices<Services extends UnionServiceOperationsDeclaration<Services>, Callbacks extends PartialServiceMethods> = ServicesFilteredByCallbacks<Services, Extract<keyof Callbacks, HookOperationCallbackList>>;
130
105
  type HookOperationCallbackList = UtilityOperationCallbacks | QueryOperationHookCallbacks | MutationOperationHookCallbacks;
106
+ export type APIUtilityClientMethodsServices<Services extends UnionServiceOperationsDeclaration<Services>, Callbacks extends PartialServiceMethods> = ServicesFilteredByCallbacks<Services, Extract<keyof Callbacks, KeyOperationCallbacks>>;
107
+ export type APIBasicClientMethodsServices<Services extends UnionServiceOperationsDeclaration<Services>, Callbacks extends PartialServiceMethods> = ServicesFilteredByCallbacks<Services, Extract<keyof Callbacks, InvokeOperationCallback | KeyOperationCallbacks>>;
108
+ export type APIBasicQueryClientMethodsServices<Services extends UnionServiceOperationsDeclaration<Services>, Callbacks extends PartialServiceMethods> = ServicesFilteredByCallbacks<Services, Extract<keyof Callbacks, QueryOperationStateMethodCallbacks | MutationOperationStateMethodCallbacks | KeyOperationCallbacks>>;
109
+ export type APIQueryClientMethodsServices<Services extends UnionServiceOperationsDeclaration<Services>, Callbacks extends PartialServiceMethods> = ServicesFilteredByCallbacks<Services, Extract<keyof Callbacks, QueryOperationMethodCallbacks | QueryOperationStateMethodCallbacks | MutationOperationStateMethodCallbacks | InvokeOperationCallback | KeyOperationCallbacks>>;
110
+ type QueryOperationMethodCallbacks = Extract<keyof ServiceMethods, 'fetchInfiniteQuery' | 'fetchQuery' | 'prefetchInfiniteQuery' | 'prefetchQuery' | 'refetchQueries' | 'ensureQueryData' | 'ensureInfiniteQueryData'>;
111
+ type QueryOperationStateMethodCallbacks = Extract<keyof ServiceMethods, 'cancelQueries' | 'getInfiniteQueryData' | 'getInfiniteQueryState' | 'getQueriesData' | 'getQueryData' | 'getQueryState' | 'invalidateQueries' | 'isFetching' | 'removeQueries' | 'resetQueries' | 'setInfiniteQueryData' | 'setQueriesData' | 'setQueryData'>;
112
+ type MutationOperationStateMethodCallbacks = Extract<keyof ServiceMethods, 'getMutationCache' | 'isMutating'>;
113
+ type InvokeOperationCallback = Extract<keyof ServiceMethods, 'operationInvokeFn'>;
114
+ type KeyOperationCallbacks = Extract<keyof ServiceMethods, 'getQueryKey' | 'getInfiniteQueryKey' | 'getMutationKey'>;
131
115
  export {};
132
116
  //# sourceMappingURL=qraftReactAPIClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"qraftReactAPIClient.d.ts","sourceRoot":"","sources":["../../src/qraftReactAPIClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAEvD,OAAO,KAAK,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,6BAA6B,EAC7B,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,gCAAgC,EAEhC,2BAA2B,EAC3B,8BAA8B,EAC9B,2BAA2B,EAC3B,2BAA2B,EAC3B,iCAAiC,EACjC,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AAI7B,KAAK,cAAc,GAAG,OAAO,SAAS,CAAC;AAEvC,KAAK,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAErD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,SAAS,iCAAiC,CAAC,QAAQ,CAAC,EAC5D,SAAS,SAAS,cAAc,EAEhC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,OAAO,EACH,2BAA2B,GAC3B,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,GACnD,6BAA6B,CAAC,QAAQ,CAAC,CAAC;AAE3C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,SAAS,iCAAiC,CAAC,QAAQ,CAAC,EAC5D,SAAS,SAAS,qBAAqB,EAEvC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,GACxD,6BAA6B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,SAAS,iCAAiC,CAAC,QAAQ,CAAC,EAC5D,SAAS,SAAS,qBAAqB,EAEvC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,2BAA2B,GACnC,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAE/C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,SAAS,iCAAiC,CAAC,QAAQ,CAAC,EAC5D,SAAS,SAAS,qBAAqB,EAEvC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,gCAAgC,GACxC,2BAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,SAAS,iCAAiC,CAAC,QAAQ,CAAC,EAC5D,SAAS,SAAS,qBAAqB,EAEvC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,2BAA2B,GACnC,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,SAAS,iCAAiC,CAAC,QAAQ,CAAC,EAC5D,SAAS,SAAS,IAAI,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,EAExE,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,GACnB,wBAAwB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AA+DjD,MAAM,MAAM,6BAA6B,CACvC,QAAQ,SAAS,iCAAiC,CAAC,QAAQ,CAAC,EAC5D,SAAS,SAAS,qBAAqB,IACrC,2BAA2B,CAC7B,QAAQ,EACR,OAAO,CAAC,MAAM,SAAS,EAAE,yBAAyB,CAAC,CACpD,CAAC;AAEF,KAAK,yBAAyB,GAC1B,yBAAyB,GACzB,2BAA2B,GAC3B,8BAA8B,CAAC"}
1
+ {"version":3,"file":"qraftReactAPIClient.d.ts","sourceRoot":"","sources":["../../src/qraftReactAPIClient.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openapi-qraft/react",
3
- "version": "2.15.0-beta.7",
3
+ "version": "2.15.0-beta.9",
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,21 +15,21 @@
15
15
  },
16
16
  "sideEffects": false,
17
17
  "dependencies": {
18
- "@openapi-qraft/tanstack-query-react-types": "2.15.0-beta.7"
18
+ "@openapi-qraft/tanstack-query-react-types": "2.15.0-beta.9"
19
19
  },
20
20
  "peerDependencies": {
21
21
  "@tanstack/react-query": "^5.80.0",
22
22
  "react": "^18 || ^19"
23
23
  },
24
24
  "devDependencies": {
25
- "@openapi-qraft/cli": "2.15.0-beta.7",
25
+ "@openapi-qraft/cli": "2.15.0-beta.9",
26
26
  "@openapi-qraft/eslint-config": "1.1.0-beta.0",
27
- "@openapi-qraft/eslint-plugin-query": "2.15.0-beta.7",
28
- "@openapi-qraft/openapi-typescript-plugin": "^2.15.0-beta.7",
27
+ "@openapi-qraft/eslint-plugin-query": "2.15.0-beta.9",
28
+ "@openapi-qraft/openapi-typescript-plugin": "^2.15.0-beta.9",
29
29
  "@openapi-qraft/rollup-config": "1.2.0-beta.0",
30
- "@openapi-qraft/tanstack-query-react-plugin": "2.15.0-beta.7",
30
+ "@openapi-qraft/tanstack-query-react-plugin": "2.15.0-beta.9",
31
31
  "@openapi-qraft/test-fixtures": "1.2.0-beta.1",
32
- "@tanstack/react-query": "^5.96.1",
32
+ "@tanstack/react-query": "^5.100.14",
33
33
  "@testing-library/dom": "^10.4.1",
34
34
  "@testing-library/react": "^16.3.2",
35
35
  "@types/jscodeshift": "^0.11.11",
@@ -37,20 +37,20 @@
37
37
  "@types/react-dom": "^19.2.3",
38
38
  "@vitejs/plugin-react": "^6.0.1",
39
39
  "@vitest/coverage-v8": "^4.1.2",
40
- "eslint": "^10.1.0",
40
+ "eslint": "^10.2.0",
41
41
  "eslint-plugin-react-compiler": "19.1.0-rc.2",
42
42
  "global-jsdom": "^29.0.0",
43
43
  "jscodeshift": "^17.3.0",
44
- "jsdom": "^29.0.1",
45
- "msw": "^2.12.14",
46
- "prettier": "^3.7.3",
44
+ "jsdom": "^29.0.2",
45
+ "msw": "^2.13.2",
46
+ "prettier": "^3.8.2",
47
47
  "query-string": "^9.3.1",
48
- "react": "^19.2.4",
49
- "react-dom": "^19.2.4",
48
+ "react": "^19.2.5",
49
+ "react-dom": "^19.2.5",
50
50
  "rimraf": "^6.1.3",
51
51
  "rollup": "~4.60.1",
52
52
  "typescript": "^5.9.3",
53
- "vitest": "^4.1.2"
53
+ "vitest": "^4.1.4"
54
54
  },
55
55
  "files": [
56
56
  "dist",
@@ -54,5 +54,8 @@ export const operationInvokeFn: <
54
54
  ...options,
55
55
  baseUrl: baseUrl ?? qraftOptions.baseUrl,
56
56
  parameters: invokeParameters,
57
+ source: {
58
+ type: 'invoke',
59
+ },
57
60
  } as never);
58
61
  };
@@ -62,7 +62,8 @@ export const useMutation: <
62
62
  qraftOptions.requestFn,
63
63
  qraftOptions.baseUrl,
64
64
  schema,
65
- parameters
65
+ parameters,
66
+ mutationKey
66
67
  ),
67
68
  [
68
69
  options?.mutationFn,
@@ -70,6 +71,7 @@ export const useMutation: <
70
71
  qraftOptions.baseUrl,
71
72
  schema,
72
73
  parameters,
74
+ mutationKey,
73
75
  ]
74
76
  ),
75
77
  },
@@ -82,6 +84,7 @@ function qraftMutationFn(
82
84
  baseUrl: CreateAPIQueryClientOptions['baseUrl'],
83
85
  schema: OperationSchema,
84
86
  parameters: unknown,
87
+ mutationKey: ServiceOperationMutationKey<OperationSchema, unknown>,
85
88
  mutationVariables:
86
89
  | {
87
90
  body: unknown;
@@ -93,6 +96,11 @@ function qraftMutationFn(
93
96
  parameters,
94
97
  baseUrl,
95
98
  body: mutationVariables as never,
99
+ source: {
100
+ type: 'mutation',
101
+ variables: mutationVariables,
102
+ mutationKey,
103
+ },
96
104
  }).then(requestFnResponseResolver, requestFnResponseRejecter);
97
105
  }
98
106
 
@@ -107,5 +115,10 @@ function qraftMutationFn(
107
115
  parameters: mutationParameters,
108
116
  baseUrl,
109
117
  body,
118
+ source: {
119
+ type: 'mutation',
120
+ variables: mutationVariables,
121
+ mutationKey,
122
+ },
110
123
  } as never).then(requestFnResponseResolver, requestFnResponseRejecter);
111
124
  }