@openapi-qraft/react 2.0.0-next.16 → 2.0.0-next.17

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 (28) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/cjs/callbacks/ensureInfiniteQueryData.cjs +10 -0
  3. package/dist/cjs/callbacks/ensureInfiniteQueryData.cjs.map +1 -0
  4. package/dist/cjs/callbacks/ensureQueryData.cjs +10 -0
  5. package/dist/cjs/callbacks/ensureQueryData.cjs.map +1 -0
  6. package/dist/cjs/callbacks/index.cjs +4 -0
  7. package/dist/cjs/callbacks/index.cjs.map +1 -1
  8. package/dist/cjs/lib/callQueryClientFetchMethod.cjs.map +1 -1
  9. package/dist/esm/callbacks/ensureInfiniteQueryData.js +8 -0
  10. package/dist/esm/callbacks/ensureInfiniteQueryData.js.map +1 -0
  11. package/dist/esm/callbacks/ensureQueryData.js +8 -0
  12. package/dist/esm/callbacks/ensureQueryData.js.map +1 -0
  13. package/dist/esm/callbacks/index.js +2 -0
  14. package/dist/esm/callbacks/index.js.map +1 -1
  15. package/dist/esm/lib/callQueryClientFetchMethod.js.map +1 -1
  16. package/dist/types/callbacks/ensureInfiniteQueryData.d.ts +8 -0
  17. package/dist/types/callbacks/ensureInfiniteQueryData.d.ts.map +1 -0
  18. package/dist/types/callbacks/ensureQueryData.d.ts +8 -0
  19. package/dist/types/callbacks/ensureQueryData.d.ts.map +1 -0
  20. package/dist/types/callbacks/index.d.ts +2 -0
  21. package/dist/types/callbacks/index.d.ts.map +1 -1
  22. package/dist/types/lib/callQueryClientFetchMethod.d.ts +1 -1
  23. package/dist/types/lib/callQueryClientFetchMethod.d.ts.map +1 -1
  24. package/package.json +9 -9
  25. package/src/callbacks/ensureInfiniteQueryData.ts +29 -0
  26. package/src/callbacks/ensureQueryData.ts +29 -0
  27. package/src/callbacks/index.ts +2 -0
  28. package/src/lib/callQueryClientFetchMethod.ts +3 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @openapi-qraft/react
2
2
 
3
+ ## 2.0.0-next.17
4
+
5
+ ### Minor Changes
6
+
7
+ - 8bbe14b: Added two new utility functions: `ensureQueryData` and `ensureInfiniteQueryData`. These methods improve data fetching workflows by allowing seamless retrieval of cached data or fetching it when unavailable. `ensureQueryData` supports standard queries, while `ensureInfiniteQueryData` is tailored for infinite queries, including paginated data handling.
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [8bbe14b]
12
+ - @openapi-qraft/tanstack-query-react-types@2.0.0-next.17
13
+
3
14
  ## 2.0.0-next.16
4
15
 
5
16
  ### Patch Changes
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var callQueryClientFetchMethod = require('../lib/callQueryClientFetchMethod.cjs');
4
+
5
+ const ensureInfiniteQueryData = (qraftOptions, schema, args)=>{
6
+ return callQueryClientFetchMethod.callQueryClientMethodWithQueryKey(qraftOptions, 'ensureInfiniteQueryData', schema, true, args);
7
+ };
8
+
9
+ exports.ensureInfiniteQueryData = ensureInfiniteQueryData;
10
+ //# sourceMappingURL=ensureInfiniteQueryData.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureInfiniteQueryData.cjs","sources":["../../../src/callbacks/ensureInfiniteQueryData.ts"],"sourcesContent":["import type { ServiceOperationFetchInfiniteQuery } from '@openapi-qraft/tanstack-query-react-types';\nimport type { DefaultError } from '@tanstack/query-core';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport { callQueryClientMethodWithQueryKey } from '../lib/callQueryClientFetchMethod.js';\n\nexport const ensureInfiniteQueryData: <\n TSchema extends { url: string; method: 'get' | 'head' | 'options' },\n TData,\n TParams,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: TSchema,\n args: Parameters<\n ServiceOperationFetchInfiniteQuery<\n TSchema,\n TData,\n TParams,\n DefaultError\n >['ensureInfiniteQueryData']\n >\n) => Promise<TData> = (qraftOptions, schema, args) => {\n return callQueryClientMethodWithQueryKey(\n qraftOptions,\n 'ensureInfiniteQueryData',\n schema,\n true,\n args as never\n ) as never;\n};\n"],"names":["ensureInfiniteQueryData","qraftOptions","schema","args","callQueryClientMethodWithQueryKey"],"mappings":";;;;AAKaA,MAAAA,uBAAAA,GAeS,CAACC,YAAAA,EAAcC,MAAQC,EAAAA,IAAAA,GAAAA;AAC3C,IAAA,OAAOC,4DACLH,CAAAA,YAAAA,EACA,yBACAC,EAAAA,MAAAA,EACA,IACAC,EAAAA,IAAAA,CAAAA,CAAAA;AAEJ;;;;"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var callQueryClientFetchMethod = require('../lib/callQueryClientFetchMethod.cjs');
4
+
5
+ const ensureQueryData = (qraftOptions, schema, args)=>{
6
+ return callQueryClientFetchMethod.callQueryClientMethodWithQueryKey(qraftOptions, 'ensureQueryData', schema, false, args);
7
+ };
8
+
9
+ exports.ensureQueryData = ensureQueryData;
10
+ //# sourceMappingURL=ensureQueryData.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureQueryData.cjs","sources":["../../../src/callbacks/ensureQueryData.ts"],"sourcesContent":["import type { ServiceOperationFetchQuery } from '@openapi-qraft/tanstack-query-react-types';\nimport type { DefaultError } from '@tanstack/query-core';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport { callQueryClientMethodWithQueryKey } from '../lib/callQueryClientFetchMethod.js';\n\nexport const ensureQueryData: <\n TSchema extends { url: string; method: 'get' | 'head' | 'options' },\n TData,\n TParams,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: TSchema,\n args: Parameters<\n ServiceOperationFetchQuery<\n TSchema,\n TData,\n TParams,\n DefaultError\n >['ensureQueryData']\n >\n) => Promise<TData> = (qraftOptions, schema, args) => {\n return callQueryClientMethodWithQueryKey(\n qraftOptions,\n 'ensureQueryData',\n schema,\n false,\n args as never\n ) as never;\n};\n"],"names":["ensureQueryData","qraftOptions","schema","args","callQueryClientMethodWithQueryKey"],"mappings":";;;;AAKaA,MAAAA,eAAAA,GAeS,CAACC,YAAAA,EAAcC,MAAQC,EAAAA,IAAAA,GAAAA;AAC3C,IAAA,OAAOC,4DACLH,CAAAA,YAAAA,EACA,iBACAC,EAAAA,MAAAA,EACA,KACAC,EAAAA,IAAAA,CAAAA,CAAAA;AAEJ;;;;"}
@@ -28,8 +28,10 @@ var isMutating = require('./isMutating.cjs');
28
28
  var useIsFetching = require('./useIsFetching.cjs');
29
29
  var fetchQuery = require('./fetchQuery.cjs');
30
30
  var prefetchQuery = require('./prefetchQuery.cjs');
31
+ var ensureQueryData = require('./ensureQueryData.cjs');
31
32
  var fetchInfiniteQuery = require('./fetchInfiniteQuery.cjs');
32
33
  var prefetchInfiniteQuery = require('./prefetchInfiniteQuery.cjs');
34
+ var ensureInfiniteQueryData = require('./ensureInfiniteQueryData.cjs');
33
35
  var getQueryState = require('./getQueryState.cjs');
34
36
  var getInfiniteQueryState = require('./getInfiniteQueryState.cjs');
35
37
  var operationInvokeFn = require('./operationInvokeFn.cjs');
@@ -64,8 +66,10 @@ exports.isMutating = isMutating.isMutating;
64
66
  exports.useIsFetching = useIsFetching.useIsFetching;
65
67
  exports.fetchQuery = fetchQuery.fetchQuery;
66
68
  exports.prefetchQuery = prefetchQuery.prefetchQuery;
69
+ exports.ensureQueryData = ensureQueryData.ensureQueryData;
67
70
  exports.fetchInfiniteQuery = fetchInfiniteQuery.fetchInfiniteQuery;
68
71
  exports.prefetchInfiniteQuery = prefetchInfiniteQuery.prefetchInfiniteQuery;
72
+ exports.ensureInfiniteQueryData = ensureInfiniteQueryData.ensureInfiniteQueryData;
69
73
  exports.getQueryState = getQueryState.getQueryState;
70
74
  exports.getInfiniteQueryState = getInfiniteQueryState.getInfiniteQueryState;
71
75
  exports.operationInvokeFn = operationInvokeFn.operationInvokeFn;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"callQueryClientFetchMethod.cjs","sources":["../../../src/lib/callQueryClientFetchMethod.ts"],"sourcesContent":["import type { QueryClient } from '@tanstack/query-core';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { OperationSchema, RequestFn } from './requestFn.js';\nimport { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';\nimport { composeQueryKey } from './composeQueryKey.js';\nimport { requestFnResponseResolver } from './requestFnResponseResolver.js';\nimport { shelfMerge } from './shelfMerge.js';\n\n/**\n * Calls a query client fetch method with parameters and options,\n * and automatically composes the `QueryKey` based on the schema and parameters.\n */\nexport function callQueryClientMethodWithQueryKey<\n QFMethod extends QueryKeyMethods,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n queryFilterMethod: QFMethod,\n schema: OperationSchema,\n infinite: boolean,\n args: QueryClientMethodArgs<QFMethod>\n): ReturnType<(typeof QueryClient.prototype)[QFMethod]> {\n const {\n requestFn: requestFnOption,\n baseUrl: baseUrlOption,\n queryFn: queryFnOption,\n parameters,\n ...options\n } = args[0] ?? {};\n\n const queryClient = qraftOptions.queryClient;\n const baseUrl = baseUrlOption ?? qraftOptions.baseUrl;\n\n if (queryFnOption && requestFnOption) {\n throw new Error(\n 'callQueryClientMethodWithQueryKey: options.queryFn and options.requestFn are mutually exclusive'\n );\n }\n\n const requestFn = requestFnOption ?? qraftOptions.requestFn;\n\n if (options.queryKey && parameters) {\n throw new Error(\n 'callQueryClientMethodWithQueryKey: options.queryKey and options.parameters are mutually exclusive'\n );\n }\n\n const queryFn =\n queryFnOption ??\n (requestFn\n ? // @ts-expect-error - Too complex union to type\n function ({ queryKey: [, queryParams], signal, meta, pageParam }) {\n return requestFn(schema, {\n parameters: infinite\n ? (shelfMerge(2, queryParams, pageParam) as never)\n : queryParams,\n baseUrl,\n signal,\n meta,\n }).then(requestFnResponseResolver, requestFnResponseResolver);\n }\n : undefined);\n\n // @ts-expect-error - Too complex union to type\n return queryClient[queryFilterMethod]({\n ...options,\n queryFn,\n queryKey:\n options.queryKey ??\n (infinite\n ? composeInfiniteQueryKey(schema, parameters)\n : composeQueryKey(schema, parameters)),\n });\n}\n\ntype QueryClientMethodArgs<QMethod extends keyof QueryClientPrototype> = [\n options: Parameters<QueryClientPrototype[QMethod]>[0] & {\n parameters?: unknown;\n baseUrl?: string;\n requestFn?: RequestFn<unknown, unknown>;\n },\n queryClient: QueryClient,\n];\n\ntype QueryKeyMethods =\n | QueryKeyMethod<'fetchQuery'>\n | QueryKeyMethod<'prefetchQuery'>\n | QueryKeyMethod<'fetchInfiniteQuery'>\n | QueryKeyMethod<'prefetchInfiniteQuery'>;\n\ntype QueryClientPrototype = typeof QueryClient.prototype;\n\ntype QueryKeyMethod<QFMethod extends keyof typeof QueryClient.prototype> =\n QFMethod;\n"],"names":["callQueryClientMethodWithQueryKey","qraftOptions","queryFilterMethod","schema","infinite","args","requestFn","requestFnOption","baseUrl","baseUrlOption","queryFn","queryFnOption","parameters","options","queryClient","Error","queryKey","queryParams","signal","meta","pageParam","shelfMerge","then","requestFnResponseResolver","undefined","composeInfiniteQueryKey","composeQueryKey"],"mappings":";;;;;;;AAQA;;;IAIO,SAASA,iCAAAA,CAGdC,YAAyC,EACzCC,iBAA2B,EAC3BC,MAAuB,EACvBC,QAAiB,EACjBC,IAAqC,EAAA;AAErC,IAAA,MAAM,EACJC,SAAWC,EAAAA,eAAe,EAC1BC,OAASC,EAAAA,aAAa,EACtBC,OAASC,EAAAA,aAAa,EACtBC,UAAU,EACV,GAAGC,OACJ,EAAA,GAAGR,IAAI,CAAC,CAAA,CAAE,IAAI,EAAC,CAAA;IAEhB,MAAMS,WAAAA,GAAcb,aAAaa,WAAW,CAAA;IAC5C,MAAMN,OAAAA,GAAUC,aAAiBR,IAAAA,YAAAA,CAAaO,OAAO,CAAA;AAErD,IAAA,IAAIG,iBAAiBJ,eAAiB,EAAA;AACpC,QAAA,MAAM,IAAIQ,KACR,CAAA,iGAAA,CAAA,CAAA;AAEJ,KAAA;IAEA,MAAMT,SAAAA,GAAYC,eAAmBN,IAAAA,YAAAA,CAAaK,SAAS,CAAA;IAE3D,IAAIO,OAAAA,CAAQG,QAAQ,IAAIJ,UAAY,EAAA;AAClC,QAAA,MAAM,IAAIG,KACR,CAAA,mGAAA,CAAA,CAAA;AAEJ,KAAA;AAEA,IAAA,MAAML,OACJC,GAAAA,aAAAA,KACCL,SAAAA,GAEG,SAAU,EAAEU,QAAAA,EAAU,GAAGC,WAAAA,CAAY,EAAEC,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,EAAA;AAC9D,QAAA,OAAOd,UAAUH,MAAQ,EAAA;AACvBS,YAAAA,UAAAA,EAAYR,QACPiB,GAAAA,qBAAAA,CAAW,CAAGJ,EAAAA,WAAAA,EAAaG,SAC5BH,CAAAA,GAAAA,WAAAA;AACJT,YAAAA,OAAAA;AACAU,YAAAA,MAAAA;AACAC,YAAAA,IAAAA;SACCG,CAAAA,CAAAA,IAAI,CAACC,mDAA2BA,EAAAA,mDAAAA,CAAAA,CAAAA;AACrC,KAAA,GACAC,SAAQ,CAAA,CAAA;;IAGd,OAAOV,WAAW,CAACZ,iBAAAA,CAAkB,CAAC;AACpC,QAAA,GAAGW,OAAO;AACVH,QAAAA,OAAAA;QACAM,QACEH,EAAAA,OAAAA,CAAQG,QAAQ,KACfZ,QAAAA,GACGqB,gDAAwBtB,MAAQS,EAAAA,UAAAA,CAAAA,GAChCc,+BAAgBvB,CAAAA,MAAAA,EAAQS,UAAU,CAAA,CAAA;AAC1C,KAAA,CAAA,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"callQueryClientFetchMethod.cjs","sources":["../../../src/lib/callQueryClientFetchMethod.ts"],"sourcesContent":["import type { QueryClient } from '@tanstack/query-core';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { OperationSchema, RequestFn } from './requestFn.js';\nimport { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';\nimport { composeQueryKey } from './composeQueryKey.js';\nimport { requestFnResponseResolver } from './requestFnResponseResolver.js';\nimport { shelfMerge } from './shelfMerge.js';\n\n/**\n * Calls a query client fetch method with parameters and options,\n * and automatically composes the `QueryKey` based on the schema and parameters.\n */\nexport function callQueryClientMethodWithQueryKey<\n QFMethod extends QueryKeyMethods,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n queryFilterMethod: QFMethod,\n schema: OperationSchema,\n infinite: boolean,\n args: QueryClientMethodArgs<QFMethod>\n): ReturnType<(typeof QueryClient.prototype)[QFMethod]> {\n const {\n requestFn: requestFnOption,\n baseUrl: baseUrlOption,\n queryFn: queryFnOption,\n parameters,\n ...options\n } = args[0] ?? {};\n\n const queryClient = qraftOptions.queryClient;\n const baseUrl = baseUrlOption ?? qraftOptions.baseUrl;\n\n if (queryFnOption && requestFnOption) {\n throw new Error(\n 'callQueryClientMethodWithQueryKey: options.queryFn and options.requestFn are mutually exclusive'\n );\n }\n\n const requestFn = requestFnOption ?? qraftOptions.requestFn;\n\n if (options.queryKey && parameters) {\n throw new Error(\n 'callQueryClientMethodWithQueryKey: options.queryKey and options.parameters are mutually exclusive'\n );\n }\n\n const queryFn =\n queryFnOption ??\n (requestFn\n ? // @ts-expect-error - Too complex union to type\n function ({ queryKey: [, queryParams], signal, meta, pageParam }) {\n return requestFn(schema, {\n parameters: infinite\n ? (shelfMerge(2, queryParams, pageParam) as never)\n : queryParams,\n baseUrl,\n signal,\n meta,\n }).then(requestFnResponseResolver, requestFnResponseResolver);\n }\n : undefined);\n\n // @ts-expect-error - Too complex union to type\n return queryClient[queryFilterMethod]({\n ...options,\n queryFn,\n queryKey:\n options.queryKey ??\n (infinite\n ? composeInfiniteQueryKey(schema, parameters)\n : composeQueryKey(schema, parameters)),\n });\n}\n\ntype QueryClientMethodArgs<QMethod extends keyof QueryClientPrototype> = [\n options: Parameters<QueryClientPrototype[QMethod]>[0] & {\n parameters?: unknown;\n baseUrl?: string;\n requestFn?: RequestFn<unknown, unknown>;\n },\n queryClient: QueryClient,\n];\n\ntype QueryKeyMethods =\n | QueryKeyMethod<'fetchQuery'>\n | QueryKeyMethod<'prefetchQuery'>\n | QueryKeyMethod<'ensureQueryData'>\n | QueryKeyMethod<'fetchInfiniteQuery'>\n | QueryKeyMethod<'prefetchInfiniteQuery'>\n | QueryKeyMethod<'ensureInfiniteQueryData'>;\n\ntype QueryClientPrototype = typeof QueryClient.prototype;\n\ntype QueryKeyMethod<QFMethod extends keyof typeof QueryClient.prototype> =\n QFMethod;\n"],"names":["callQueryClientMethodWithQueryKey","qraftOptions","queryFilterMethod","schema","infinite","args","requestFn","requestFnOption","baseUrl","baseUrlOption","queryFn","queryFnOption","parameters","options","queryClient","Error","queryKey","queryParams","signal","meta","pageParam","shelfMerge","then","requestFnResponseResolver","undefined","composeInfiniteQueryKey","composeQueryKey"],"mappings":";;;;;;;AAQA;;;IAIO,SAASA,iCAAAA,CAGdC,YAAyC,EACzCC,iBAA2B,EAC3BC,MAAuB,EACvBC,QAAiB,EACjBC,IAAqC,EAAA;AAErC,IAAA,MAAM,EACJC,SAAWC,EAAAA,eAAe,EAC1BC,OAASC,EAAAA,aAAa,EACtBC,OAASC,EAAAA,aAAa,EACtBC,UAAU,EACV,GAAGC,OACJ,EAAA,GAAGR,IAAI,CAAC,CAAA,CAAE,IAAI,EAAC,CAAA;IAEhB,MAAMS,WAAAA,GAAcb,aAAaa,WAAW,CAAA;IAC5C,MAAMN,OAAAA,GAAUC,aAAiBR,IAAAA,YAAAA,CAAaO,OAAO,CAAA;AAErD,IAAA,IAAIG,iBAAiBJ,eAAiB,EAAA;AACpC,QAAA,MAAM,IAAIQ,KACR,CAAA,iGAAA,CAAA,CAAA;AAEJ,KAAA;IAEA,MAAMT,SAAAA,GAAYC,eAAmBN,IAAAA,YAAAA,CAAaK,SAAS,CAAA;IAE3D,IAAIO,OAAAA,CAAQG,QAAQ,IAAIJ,UAAY,EAAA;AAClC,QAAA,MAAM,IAAIG,KACR,CAAA,mGAAA,CAAA,CAAA;AAEJ,KAAA;AAEA,IAAA,MAAML,OACJC,GAAAA,aAAAA,KACCL,SAAAA,GAEG,SAAU,EAAEU,QAAAA,EAAU,GAAGC,WAAAA,CAAY,EAAEC,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,EAAA;AAC9D,QAAA,OAAOd,UAAUH,MAAQ,EAAA;AACvBS,YAAAA,UAAAA,EAAYR,QACPiB,GAAAA,qBAAAA,CAAW,CAAGJ,EAAAA,WAAAA,EAAaG,SAC5BH,CAAAA,GAAAA,WAAAA;AACJT,YAAAA,OAAAA;AACAU,YAAAA,MAAAA;AACAC,YAAAA,IAAAA;SACCG,CAAAA,CAAAA,IAAI,CAACC,mDAA2BA,EAAAA,mDAAAA,CAAAA,CAAAA;AACrC,KAAA,GACAC,SAAQ,CAAA,CAAA;;IAGd,OAAOV,WAAW,CAACZ,iBAAAA,CAAkB,CAAC;AACpC,QAAA,GAAGW,OAAO;AACVH,QAAAA,OAAAA;QACAM,QACEH,EAAAA,OAAAA,CAAQG,QAAQ,KACfZ,QAAAA,GACGqB,gDAAwBtB,MAAQS,EAAAA,UAAAA,CAAAA,GAChCc,+BAAgBvB,CAAAA,MAAAA,EAAQS,UAAU,CAAA,CAAA;AAC1C,KAAA,CAAA,CAAA;AACF;;;;"}
@@ -0,0 +1,8 @@
1
+ import { callQueryClientMethodWithQueryKey } from '../lib/callQueryClientFetchMethod.js';
2
+
3
+ const ensureInfiniteQueryData = (qraftOptions, schema, args)=>{
4
+ return callQueryClientMethodWithQueryKey(qraftOptions, 'ensureInfiniteQueryData', schema, true, args);
5
+ };
6
+
7
+ export { ensureInfiniteQueryData };
8
+ //# sourceMappingURL=ensureInfiniteQueryData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureInfiniteQueryData.js","sources":["../../../src/callbacks/ensureInfiniteQueryData.ts"],"sourcesContent":["import type { ServiceOperationFetchInfiniteQuery } from '@openapi-qraft/tanstack-query-react-types';\nimport type { DefaultError } from '@tanstack/query-core';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport { callQueryClientMethodWithQueryKey } from '../lib/callQueryClientFetchMethod.js';\n\nexport const ensureInfiniteQueryData: <\n TSchema extends { url: string; method: 'get' | 'head' | 'options' },\n TData,\n TParams,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: TSchema,\n args: Parameters<\n ServiceOperationFetchInfiniteQuery<\n TSchema,\n TData,\n TParams,\n DefaultError\n >['ensureInfiniteQueryData']\n >\n) => Promise<TData> = (qraftOptions, schema, args) => {\n return callQueryClientMethodWithQueryKey(\n qraftOptions,\n 'ensureInfiniteQueryData',\n schema,\n true,\n args as never\n ) as never;\n};\n"],"names":["ensureInfiniteQueryData","qraftOptions","schema","args","callQueryClientMethodWithQueryKey"],"mappings":";;AAKaA,MAAAA,uBAAAA,GAeS,CAACC,YAAAA,EAAcC,MAAQC,EAAAA,IAAAA,GAAAA;AAC3C,IAAA,OAAOC,iCACLH,CAAAA,YAAAA,EACA,yBACAC,EAAAA,MAAAA,EACA,IACAC,EAAAA,IAAAA,CAAAA,CAAAA;AAEJ;;;;"}
@@ -0,0 +1,8 @@
1
+ import { callQueryClientMethodWithQueryKey } from '../lib/callQueryClientFetchMethod.js';
2
+
3
+ const ensureQueryData = (qraftOptions, schema, args)=>{
4
+ return callQueryClientMethodWithQueryKey(qraftOptions, 'ensureQueryData', schema, false, args);
5
+ };
6
+
7
+ export { ensureQueryData };
8
+ //# sourceMappingURL=ensureQueryData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureQueryData.js","sources":["../../../src/callbacks/ensureQueryData.ts"],"sourcesContent":["import type { ServiceOperationFetchQuery } from '@openapi-qraft/tanstack-query-react-types';\nimport type { DefaultError } from '@tanstack/query-core';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport { callQueryClientMethodWithQueryKey } from '../lib/callQueryClientFetchMethod.js';\n\nexport const ensureQueryData: <\n TSchema extends { url: string; method: 'get' | 'head' | 'options' },\n TData,\n TParams,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: TSchema,\n args: Parameters<\n ServiceOperationFetchQuery<\n TSchema,\n TData,\n TParams,\n DefaultError\n >['ensureQueryData']\n >\n) => Promise<TData> = (qraftOptions, schema, args) => {\n return callQueryClientMethodWithQueryKey(\n qraftOptions,\n 'ensureQueryData',\n schema,\n false,\n args as never\n ) as never;\n};\n"],"names":["ensureQueryData","qraftOptions","schema","args","callQueryClientMethodWithQueryKey"],"mappings":";;AAKaA,MAAAA,eAAAA,GAeS,CAACC,YAAAA,EAAcC,MAAQC,EAAAA,IAAAA,GAAAA;AAC3C,IAAA,OAAOC,iCACLH,CAAAA,YAAAA,EACA,iBACAC,EAAAA,MAAAA,EACA,KACAC,EAAAA,IAAAA,CAAAA,CAAAA;AAEJ;;;;"}
@@ -26,8 +26,10 @@ export { isMutating } from './isMutating.js';
26
26
  export { useIsFetching } from './useIsFetching.js';
27
27
  export { fetchQuery } from './fetchQuery.js';
28
28
  export { prefetchQuery } from './prefetchQuery.js';
29
+ export { ensureQueryData } from './ensureQueryData.js';
29
30
  export { fetchInfiniteQuery } from './fetchInfiniteQuery.js';
30
31
  export { prefetchInfiniteQuery } from './prefetchInfiniteQuery.js';
32
+ export { ensureInfiniteQueryData } from './ensureInfiniteQueryData.js';
31
33
  export { getQueryState } from './getQueryState.js';
32
34
  export { getInfiniteQueryState } from './getInfiniteQueryState.js';
33
35
  export { operationInvokeFn } from './operationInvokeFn.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"callQueryClientFetchMethod.js","sources":["../../../src/lib/callQueryClientFetchMethod.ts"],"sourcesContent":["import type { QueryClient } from '@tanstack/query-core';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { OperationSchema, RequestFn } from './requestFn.js';\nimport { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';\nimport { composeQueryKey } from './composeQueryKey.js';\nimport { requestFnResponseResolver } from './requestFnResponseResolver.js';\nimport { shelfMerge } from './shelfMerge.js';\n\n/**\n * Calls a query client fetch method with parameters and options,\n * and automatically composes the `QueryKey` based on the schema and parameters.\n */\nexport function callQueryClientMethodWithQueryKey<\n QFMethod extends QueryKeyMethods,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n queryFilterMethod: QFMethod,\n schema: OperationSchema,\n infinite: boolean,\n args: QueryClientMethodArgs<QFMethod>\n): ReturnType<(typeof QueryClient.prototype)[QFMethod]> {\n const {\n requestFn: requestFnOption,\n baseUrl: baseUrlOption,\n queryFn: queryFnOption,\n parameters,\n ...options\n } = args[0] ?? {};\n\n const queryClient = qraftOptions.queryClient;\n const baseUrl = baseUrlOption ?? qraftOptions.baseUrl;\n\n if (queryFnOption && requestFnOption) {\n throw new Error(\n 'callQueryClientMethodWithQueryKey: options.queryFn and options.requestFn are mutually exclusive'\n );\n }\n\n const requestFn = requestFnOption ?? qraftOptions.requestFn;\n\n if (options.queryKey && parameters) {\n throw new Error(\n 'callQueryClientMethodWithQueryKey: options.queryKey and options.parameters are mutually exclusive'\n );\n }\n\n const queryFn =\n queryFnOption ??\n (requestFn\n ? // @ts-expect-error - Too complex union to type\n function ({ queryKey: [, queryParams], signal, meta, pageParam }) {\n return requestFn(schema, {\n parameters: infinite\n ? (shelfMerge(2, queryParams, pageParam) as never)\n : queryParams,\n baseUrl,\n signal,\n meta,\n }).then(requestFnResponseResolver, requestFnResponseResolver);\n }\n : undefined);\n\n // @ts-expect-error - Too complex union to type\n return queryClient[queryFilterMethod]({\n ...options,\n queryFn,\n queryKey:\n options.queryKey ??\n (infinite\n ? composeInfiniteQueryKey(schema, parameters)\n : composeQueryKey(schema, parameters)),\n });\n}\n\ntype QueryClientMethodArgs<QMethod extends keyof QueryClientPrototype> = [\n options: Parameters<QueryClientPrototype[QMethod]>[0] & {\n parameters?: unknown;\n baseUrl?: string;\n requestFn?: RequestFn<unknown, unknown>;\n },\n queryClient: QueryClient,\n];\n\ntype QueryKeyMethods =\n | QueryKeyMethod<'fetchQuery'>\n | QueryKeyMethod<'prefetchQuery'>\n | QueryKeyMethod<'fetchInfiniteQuery'>\n | QueryKeyMethod<'prefetchInfiniteQuery'>;\n\ntype QueryClientPrototype = typeof QueryClient.prototype;\n\ntype QueryKeyMethod<QFMethod extends keyof typeof QueryClient.prototype> =\n QFMethod;\n"],"names":["callQueryClientMethodWithQueryKey","qraftOptions","queryFilterMethod","schema","infinite","args","requestFn","requestFnOption","baseUrl","baseUrlOption","queryFn","queryFnOption","parameters","options","queryClient","Error","queryKey","queryParams","signal","meta","pageParam","shelfMerge","then","requestFnResponseResolver","undefined","composeInfiniteQueryKey","composeQueryKey"],"mappings":";;;;;AAQA;;;IAIO,SAASA,iCAAAA,CAGdC,YAAyC,EACzCC,iBAA2B,EAC3BC,MAAuB,EACvBC,QAAiB,EACjBC,IAAqC,EAAA;AAErC,IAAA,MAAM,EACJC,SAAWC,EAAAA,eAAe,EAC1BC,OAASC,EAAAA,aAAa,EACtBC,OAASC,EAAAA,aAAa,EACtBC,UAAU,EACV,GAAGC,OACJ,EAAA,GAAGR,IAAI,CAAC,CAAA,CAAE,IAAI,EAAC,CAAA;IAEhB,MAAMS,WAAAA,GAAcb,aAAaa,WAAW,CAAA;IAC5C,MAAMN,OAAAA,GAAUC,aAAiBR,IAAAA,YAAAA,CAAaO,OAAO,CAAA;AAErD,IAAA,IAAIG,iBAAiBJ,eAAiB,EAAA;AACpC,QAAA,MAAM,IAAIQ,KACR,CAAA,iGAAA,CAAA,CAAA;AAEJ,KAAA;IAEA,MAAMT,SAAAA,GAAYC,eAAmBN,IAAAA,YAAAA,CAAaK,SAAS,CAAA;IAE3D,IAAIO,OAAAA,CAAQG,QAAQ,IAAIJ,UAAY,EAAA;AAClC,QAAA,MAAM,IAAIG,KACR,CAAA,mGAAA,CAAA,CAAA;AAEJ,KAAA;AAEA,IAAA,MAAML,OACJC,GAAAA,aAAAA,KACCL,SAAAA,GAEG,SAAU,EAAEU,QAAAA,EAAU,GAAGC,WAAAA,CAAY,EAAEC,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,EAAA;AAC9D,QAAA,OAAOd,UAAUH,MAAQ,EAAA;AACvBS,YAAAA,UAAAA,EAAYR,QACPiB,GAAAA,UAAAA,CAAW,CAAGJ,EAAAA,WAAAA,EAAaG,SAC5BH,CAAAA,GAAAA,WAAAA;AACJT,YAAAA,OAAAA;AACAU,YAAAA,MAAAA;AACAC,YAAAA,IAAAA;SACCG,CAAAA,CAAAA,IAAI,CAACC,yBAA2BA,EAAAA,yBAAAA,CAAAA,CAAAA;AACrC,KAAA,GACAC,SAAQ,CAAA,CAAA;;IAGd,OAAOV,WAAW,CAACZ,iBAAAA,CAAkB,CAAC;AACpC,QAAA,GAAGW,OAAO;AACVH,QAAAA,OAAAA;QACAM,QACEH,EAAAA,OAAAA,CAAQG,QAAQ,KACfZ,QAAAA,GACGqB,wBAAwBtB,MAAQS,EAAAA,UAAAA,CAAAA,GAChCc,eAAgBvB,CAAAA,MAAAA,EAAQS,UAAU,CAAA,CAAA;AAC1C,KAAA,CAAA,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"callQueryClientFetchMethod.js","sources":["../../../src/lib/callQueryClientFetchMethod.ts"],"sourcesContent":["import type { QueryClient } from '@tanstack/query-core';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { OperationSchema, RequestFn } from './requestFn.js';\nimport { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';\nimport { composeQueryKey } from './composeQueryKey.js';\nimport { requestFnResponseResolver } from './requestFnResponseResolver.js';\nimport { shelfMerge } from './shelfMerge.js';\n\n/**\n * Calls a query client fetch method with parameters and options,\n * and automatically composes the `QueryKey` based on the schema and parameters.\n */\nexport function callQueryClientMethodWithQueryKey<\n QFMethod extends QueryKeyMethods,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n queryFilterMethod: QFMethod,\n schema: OperationSchema,\n infinite: boolean,\n args: QueryClientMethodArgs<QFMethod>\n): ReturnType<(typeof QueryClient.prototype)[QFMethod]> {\n const {\n requestFn: requestFnOption,\n baseUrl: baseUrlOption,\n queryFn: queryFnOption,\n parameters,\n ...options\n } = args[0] ?? {};\n\n const queryClient = qraftOptions.queryClient;\n const baseUrl = baseUrlOption ?? qraftOptions.baseUrl;\n\n if (queryFnOption && requestFnOption) {\n throw new Error(\n 'callQueryClientMethodWithQueryKey: options.queryFn and options.requestFn are mutually exclusive'\n );\n }\n\n const requestFn = requestFnOption ?? qraftOptions.requestFn;\n\n if (options.queryKey && parameters) {\n throw new Error(\n 'callQueryClientMethodWithQueryKey: options.queryKey and options.parameters are mutually exclusive'\n );\n }\n\n const queryFn =\n queryFnOption ??\n (requestFn\n ? // @ts-expect-error - Too complex union to type\n function ({ queryKey: [, queryParams], signal, meta, pageParam }) {\n return requestFn(schema, {\n parameters: infinite\n ? (shelfMerge(2, queryParams, pageParam) as never)\n : queryParams,\n baseUrl,\n signal,\n meta,\n }).then(requestFnResponseResolver, requestFnResponseResolver);\n }\n : undefined);\n\n // @ts-expect-error - Too complex union to type\n return queryClient[queryFilterMethod]({\n ...options,\n queryFn,\n queryKey:\n options.queryKey ??\n (infinite\n ? composeInfiniteQueryKey(schema, parameters)\n : composeQueryKey(schema, parameters)),\n });\n}\n\ntype QueryClientMethodArgs<QMethod extends keyof QueryClientPrototype> = [\n options: Parameters<QueryClientPrototype[QMethod]>[0] & {\n parameters?: unknown;\n baseUrl?: string;\n requestFn?: RequestFn<unknown, unknown>;\n },\n queryClient: QueryClient,\n];\n\ntype QueryKeyMethods =\n | QueryKeyMethod<'fetchQuery'>\n | QueryKeyMethod<'prefetchQuery'>\n | QueryKeyMethod<'ensureQueryData'>\n | QueryKeyMethod<'fetchInfiniteQuery'>\n | QueryKeyMethod<'prefetchInfiniteQuery'>\n | QueryKeyMethod<'ensureInfiniteQueryData'>;\n\ntype QueryClientPrototype = typeof QueryClient.prototype;\n\ntype QueryKeyMethod<QFMethod extends keyof typeof QueryClient.prototype> =\n QFMethod;\n"],"names":["callQueryClientMethodWithQueryKey","qraftOptions","queryFilterMethod","schema","infinite","args","requestFn","requestFnOption","baseUrl","baseUrlOption","queryFn","queryFnOption","parameters","options","queryClient","Error","queryKey","queryParams","signal","meta","pageParam","shelfMerge","then","requestFnResponseResolver","undefined","composeInfiniteQueryKey","composeQueryKey"],"mappings":";;;;;AAQA;;;IAIO,SAASA,iCAAAA,CAGdC,YAAyC,EACzCC,iBAA2B,EAC3BC,MAAuB,EACvBC,QAAiB,EACjBC,IAAqC,EAAA;AAErC,IAAA,MAAM,EACJC,SAAWC,EAAAA,eAAe,EAC1BC,OAASC,EAAAA,aAAa,EACtBC,OAASC,EAAAA,aAAa,EACtBC,UAAU,EACV,GAAGC,OACJ,EAAA,GAAGR,IAAI,CAAC,CAAA,CAAE,IAAI,EAAC,CAAA;IAEhB,MAAMS,WAAAA,GAAcb,aAAaa,WAAW,CAAA;IAC5C,MAAMN,OAAAA,GAAUC,aAAiBR,IAAAA,YAAAA,CAAaO,OAAO,CAAA;AAErD,IAAA,IAAIG,iBAAiBJ,eAAiB,EAAA;AACpC,QAAA,MAAM,IAAIQ,KACR,CAAA,iGAAA,CAAA,CAAA;AAEJ,KAAA;IAEA,MAAMT,SAAAA,GAAYC,eAAmBN,IAAAA,YAAAA,CAAaK,SAAS,CAAA;IAE3D,IAAIO,OAAAA,CAAQG,QAAQ,IAAIJ,UAAY,EAAA;AAClC,QAAA,MAAM,IAAIG,KACR,CAAA,mGAAA,CAAA,CAAA;AAEJ,KAAA;AAEA,IAAA,MAAML,OACJC,GAAAA,aAAAA,KACCL,SAAAA,GAEG,SAAU,EAAEU,QAAAA,EAAU,GAAGC,WAAAA,CAAY,EAAEC,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,EAAA;AAC9D,QAAA,OAAOd,UAAUH,MAAQ,EAAA;AACvBS,YAAAA,UAAAA,EAAYR,QACPiB,GAAAA,UAAAA,CAAW,CAAGJ,EAAAA,WAAAA,EAAaG,SAC5BH,CAAAA,GAAAA,WAAAA;AACJT,YAAAA,OAAAA;AACAU,YAAAA,MAAAA;AACAC,YAAAA,IAAAA;SACCG,CAAAA,CAAAA,IAAI,CAACC,yBAA2BA,EAAAA,yBAAAA,CAAAA,CAAAA;AACrC,KAAA,GACAC,SAAQ,CAAA,CAAA;;IAGd,OAAOV,WAAW,CAACZ,iBAAAA,CAAkB,CAAC;AACpC,QAAA,GAAGW,OAAO;AACVH,QAAAA,OAAAA;QACAM,QACEH,EAAAA,OAAAA,CAAQG,QAAQ,KACfZ,QAAAA,GACGqB,wBAAwBtB,MAAQS,EAAAA,UAAAA,CAAAA,GAChCc,eAAgBvB,CAAAA,MAAAA,EAAQS,UAAU,CAAA,CAAA;AAC1C,KAAA,CAAA,CAAA;AACF;;;;"}
@@ -0,0 +1,8 @@
1
+ import type { ServiceOperationFetchInfiniteQuery } from '@openapi-qraft/tanstack-query-react-types';
2
+ import type { DefaultError } from '@tanstack/query-core';
3
+ import type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';
4
+ export declare const ensureInfiniteQueryData: <TSchema extends {
5
+ url: string;
6
+ method: 'get' | 'head' | 'options';
7
+ }, TData, TParams>(qraftOptions: CreateAPIQueryClientOptions, schema: TSchema, args: Parameters<ServiceOperationFetchInfiniteQuery<TSchema, TData, TParams, DefaultError>['ensureInfiniteQueryData']>) => Promise<TData>;
8
+ //# sourceMappingURL=ensureInfiniteQueryData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureInfiniteQueryData.d.ts","sourceRoot":"","sources":["../../../src/callbacks/ensureInfiniteQueryData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,2CAA2C,CAAC;AACpG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAGxE,eAAO,MAAM,uBAAuB,EAAE,CACpC,OAAO,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,EACnE,KAAK,EACL,OAAO,EAEP,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,UAAU,CACd,kCAAkC,CAChC,OAAO,EACP,KAAK,EACL,OAAO,EACP,YAAY,CACb,CAAC,yBAAyB,CAAC,CAC7B,KACE,OAAO,CAAC,KAAK,CAQjB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ServiceOperationFetchQuery } from '@openapi-qraft/tanstack-query-react-types';
2
+ import type { DefaultError } from '@tanstack/query-core';
3
+ import type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';
4
+ export declare const ensureQueryData: <TSchema extends {
5
+ url: string;
6
+ method: 'get' | 'head' | 'options';
7
+ }, TData, TParams>(qraftOptions: CreateAPIQueryClientOptions, schema: TSchema, args: Parameters<ServiceOperationFetchQuery<TSchema, TData, TParams, DefaultError>['ensureQueryData']>) => Promise<TData>;
8
+ //# sourceMappingURL=ensureQueryData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureQueryData.d.ts","sourceRoot":"","sources":["../../../src/callbacks/ensureQueryData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAGxE,eAAO,MAAM,eAAe,EAAE,CAC5B,OAAO,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,EACnE,KAAK,EACL,OAAO,EAEP,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,UAAU,CACd,0BAA0B,CACxB,OAAO,EACP,KAAK,EACL,OAAO,EACP,YAAY,CACb,CAAC,iBAAiB,CAAC,CACrB,KACE,OAAO,CAAC,KAAK,CAQjB,CAAC"}
@@ -26,8 +26,10 @@ export { isMutating } from './isMutating.js';
26
26
  export { useIsFetching } from './useIsFetching.js';
27
27
  export { fetchQuery } from './fetchQuery.js';
28
28
  export { prefetchQuery } from './prefetchQuery.js';
29
+ export { ensureQueryData } from './ensureQueryData.js';
29
30
  export { fetchInfiniteQuery } from './fetchInfiniteQuery.js';
30
31
  export { prefetchInfiniteQuery } from './prefetchInfiniteQuery.js';
32
+ export { ensureInfiniteQueryData } from './ensureInfiniteQueryData.js';
31
33
  export { getQueryState } from './getQueryState.js';
32
34
  export { getInfiniteQueryState } from './getInfiniteQueryState.js';
33
35
  export { operationInvokeFn } from './operationInvokeFn.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/callbacks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/callbacks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -14,7 +14,7 @@ type QueryClientMethodArgs<QMethod extends keyof QueryClientPrototype> = [
14
14
  },
15
15
  queryClient: QueryClient
16
16
  ];
17
- type QueryKeyMethods = QueryKeyMethod<'fetchQuery'> | QueryKeyMethod<'prefetchQuery'> | QueryKeyMethod<'fetchInfiniteQuery'> | QueryKeyMethod<'prefetchInfiniteQuery'>;
17
+ type QueryKeyMethods = QueryKeyMethod<'fetchQuery'> | QueryKeyMethod<'prefetchQuery'> | QueryKeyMethod<'ensureQueryData'> | QueryKeyMethod<'fetchInfiniteQuery'> | QueryKeyMethod<'prefetchInfiniteQuery'> | QueryKeyMethod<'ensureInfiniteQueryData'>;
18
18
  type QueryClientPrototype = typeof QueryClient.prototype;
19
19
  type QueryKeyMethod<QFMethod extends keyof typeof QueryClient.prototype> = QFMethod;
20
20
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"callQueryClientFetchMethod.d.ts","sourceRoot":"","sources":["../../../src/lib/callQueryClientFetchMethod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAMjE;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,SAAS,eAAe,EAEhC,YAAY,EAAE,2BAA2B,EACzC,iBAAiB,EAAE,QAAQ,EAC3B,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GACpC,UAAU,CAAC,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAoDtD;AAED,KAAK,qBAAqB,CAAC,OAAO,SAAS,MAAM,oBAAoB,IAAI;IACvE,OAAO,EAAE,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACtD,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KACzC;IACD,WAAW,EAAE,WAAW;CACzB,CAAC;AAEF,KAAK,eAAe,GAChB,cAAc,CAAC,YAAY,CAAC,GAC5B,cAAc,CAAC,eAAe,CAAC,GAC/B,cAAc,CAAC,oBAAoB,CAAC,GACpC,cAAc,CAAC,uBAAuB,CAAC,CAAC;AAE5C,KAAK,oBAAoB,GAAG,OAAO,WAAW,CAAC,SAAS,CAAC;AAEzD,KAAK,cAAc,CAAC,QAAQ,SAAS,MAAM,OAAO,WAAW,CAAC,SAAS,IACrE,QAAQ,CAAC"}
1
+ {"version":3,"file":"callQueryClientFetchMethod.d.ts","sourceRoot":"","sources":["../../../src/lib/callQueryClientFetchMethod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAMjE;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,SAAS,eAAe,EAEhC,YAAY,EAAE,2BAA2B,EACzC,iBAAiB,EAAE,QAAQ,EAC3B,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GACpC,UAAU,CAAC,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAoDtD;AAED,KAAK,qBAAqB,CAAC,OAAO,SAAS,MAAM,oBAAoB,IAAI;IACvE,OAAO,EAAE,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACtD,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KACzC;IACD,WAAW,EAAE,WAAW;CACzB,CAAC;AAEF,KAAK,eAAe,GAChB,cAAc,CAAC,YAAY,CAAC,GAC5B,cAAc,CAAC,eAAe,CAAC,GAC/B,cAAc,CAAC,iBAAiB,CAAC,GACjC,cAAc,CAAC,oBAAoB,CAAC,GACpC,cAAc,CAAC,uBAAuB,CAAC,GACvC,cAAc,CAAC,yBAAyB,CAAC,CAAC;AAE9C,KAAK,oBAAoB,GAAG,OAAO,WAAW,CAAC,SAAS,CAAC;AAEzD,KAAK,cAAc,CAAC,QAAQ,SAAS,MAAM,OAAO,WAAW,CAAC,SAAS,IACrE,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openapi-qraft/react",
3
- "version": "2.0.0-next.16",
3
+ "version": "2.0.0-next.17",
4
4
  "description": "OpenAPI client for React, providing type-safe requests and dynamic TanStack Query React Hooks via a modular, Proxy-based architecture.",
5
5
  "scripts": {
6
6
  "build": "NODE_ENV=production rollup --config rollup.config.mjs && tsc --project tsconfig.build.json --emitDeclarationOnly",
@@ -15,14 +15,14 @@
15
15
  },
16
16
  "sideEffects": false,
17
17
  "dependencies": {
18
- "@openapi-qraft/tanstack-query-react-types": "2.0.0-next.16"
18
+ "@openapi-qraft/tanstack-query-react-types": "2.0.0-next.17"
19
19
  },
20
20
  "devDependencies": {
21
- "@openapi-qraft/cli": "2.0.0-next.16",
21
+ "@openapi-qraft/cli": "2.0.0-next.17",
22
22
  "@openapi-qraft/eslint-config": "1.0.0",
23
- "@openapi-qraft/openapi-typescript-plugin": "^1.2.0-next.16",
23
+ "@openapi-qraft/openapi-typescript-plugin": "^1.2.0-next.17",
24
24
  "@openapi-qraft/rollup-config": "1.1.0-next.0",
25
- "@openapi-qraft/tanstack-query-react-plugin": "2.0.0-next.16",
25
+ "@openapi-qraft/tanstack-query-react-plugin": "2.0.0-next.17",
26
26
  "@openapi-qraft/test-fixtures": "1.0.0",
27
27
  "@tanstack/react-query": "^5.56.2",
28
28
  "@testing-library/jest-dom": "^5.17.0",
@@ -31,18 +31,18 @@
31
31
  "@types/jscodeshift": "^0.11.11",
32
32
  "@types/react": "^18.3.5",
33
33
  "@vitejs/plugin-react": "^4.3.1",
34
- "@vitest/coverage-v8": "^1.6.0",
35
- "eslint": "^9.10.0",
34
+ "@vitest/coverage-v8": "^2.1.8",
35
+ "eslint": "^9.16.0",
36
36
  "globals": "^15.9.0",
37
37
  "jscodeshift": "^17.0.0",
38
38
  "jsdom": "^25.0.0",
39
- "msw": "^2.5.1",
39
+ "msw": "^2.6.8",
40
40
  "prettier": "^3.3.3",
41
41
  "query-string": "^8.2.0",
42
42
  "react": "^18.3.1",
43
43
  "rimraf": "^5.0.10",
44
44
  "rollup": "~4.22.4",
45
- "vitest": "^1.6.0"
45
+ "vitest": "^2.1.8"
46
46
  },
47
47
  "peerDependencies": {
48
48
  "@tanstack/query-core": "^5.0.0",
@@ -0,0 +1,29 @@
1
+ import type { ServiceOperationFetchInfiniteQuery } from '@openapi-qraft/tanstack-query-react-types';
2
+ import type { DefaultError } from '@tanstack/query-core';
3
+ import type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';
4
+ import { callQueryClientMethodWithQueryKey } from '../lib/callQueryClientFetchMethod.js';
5
+
6
+ export const ensureInfiniteQueryData: <
7
+ TSchema extends { url: string; method: 'get' | 'head' | 'options' },
8
+ TData,
9
+ TParams,
10
+ >(
11
+ qraftOptions: CreateAPIQueryClientOptions,
12
+ schema: TSchema,
13
+ args: Parameters<
14
+ ServiceOperationFetchInfiniteQuery<
15
+ TSchema,
16
+ TData,
17
+ TParams,
18
+ DefaultError
19
+ >['ensureInfiniteQueryData']
20
+ >
21
+ ) => Promise<TData> = (qraftOptions, schema, args) => {
22
+ return callQueryClientMethodWithQueryKey(
23
+ qraftOptions,
24
+ 'ensureInfiniteQueryData',
25
+ schema,
26
+ true,
27
+ args as never
28
+ ) as never;
29
+ };
@@ -0,0 +1,29 @@
1
+ import type { ServiceOperationFetchQuery } from '@openapi-qraft/tanstack-query-react-types';
2
+ import type { DefaultError } from '@tanstack/query-core';
3
+ import type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';
4
+ import { callQueryClientMethodWithQueryKey } from '../lib/callQueryClientFetchMethod.js';
5
+
6
+ export const ensureQueryData: <
7
+ TSchema extends { url: string; method: 'get' | 'head' | 'options' },
8
+ TData,
9
+ TParams,
10
+ >(
11
+ qraftOptions: CreateAPIQueryClientOptions,
12
+ schema: TSchema,
13
+ args: Parameters<
14
+ ServiceOperationFetchQuery<
15
+ TSchema,
16
+ TData,
17
+ TParams,
18
+ DefaultError
19
+ >['ensureQueryData']
20
+ >
21
+ ) => Promise<TData> = (qraftOptions, schema, args) => {
22
+ return callQueryClientMethodWithQueryKey(
23
+ qraftOptions,
24
+ 'ensureQueryData',
25
+ schema,
26
+ false,
27
+ args as never
28
+ ) as never;
29
+ };
@@ -26,8 +26,10 @@ export { isMutating } from './isMutating.js';
26
26
  export { useIsFetching } from './useIsFetching.js';
27
27
  export { fetchQuery } from './fetchQuery.js';
28
28
  export { prefetchQuery } from './prefetchQuery.js';
29
+ export { ensureQueryData } from './ensureQueryData.js';
29
30
  export { fetchInfiniteQuery } from './fetchInfiniteQuery.js';
30
31
  export { prefetchInfiniteQuery } from './prefetchInfiniteQuery.js';
32
+ export { ensureInfiniteQueryData } from './ensureInfiniteQueryData.js';
31
33
  export { getQueryState } from './getQueryState.js';
32
34
  export { getInfiniteQueryState } from './getInfiniteQueryState.js';
33
35
  export { operationInvokeFn } from './operationInvokeFn.js';
@@ -84,8 +84,10 @@ type QueryClientMethodArgs<QMethod extends keyof QueryClientPrototype> = [
84
84
  type QueryKeyMethods =
85
85
  | QueryKeyMethod<'fetchQuery'>
86
86
  | QueryKeyMethod<'prefetchQuery'>
87
+ | QueryKeyMethod<'ensureQueryData'>
87
88
  | QueryKeyMethod<'fetchInfiniteQuery'>
88
- | QueryKeyMethod<'prefetchInfiniteQuery'>;
89
+ | QueryKeyMethod<'prefetchInfiniteQuery'>
90
+ | QueryKeyMethod<'ensureInfiniteQueryData'>;
89
91
 
90
92
  type QueryClientPrototype = typeof QueryClient.prototype;
91
93