@openapi-qraft/react 1.0.0-beta.3 → 1.0.0-beta.5

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 (36) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +7 -0
  3. package/dist/ServiceOperation.d.ts +15 -3
  4. package/dist/ServiceOperation.d.ts.map +1 -1
  5. package/dist/callbacks/useInfiniteQuery.d.ts +0 -6
  6. package/dist/callbacks/useInfiniteQuery.d.ts.map +1 -1
  7. package/dist/callbacks/useInfiniteQuery.js +2 -27
  8. package/dist/callbacks/useInfiniteQuery.js.map +1 -1
  9. package/dist/callbacks/useMutation.d.ts.map +1 -1
  10. package/dist/callbacks/useMutation.js +1 -0
  11. package/dist/callbacks/useMutation.js.map +1 -1
  12. package/dist/callbacks/useQuery.d.ts.map +1 -1
  13. package/dist/callbacks/useQuery.js +1 -0
  14. package/dist/callbacks/useQuery.js.map +1 -1
  15. package/dist/callbacks/useSuspenseInfiniteQuery.d.ts +9 -0
  16. package/dist/callbacks/useSuspenseInfiniteQuery.d.ts.map +1 -0
  17. package/dist/callbacks/useSuspenseInfiniteQuery.js +25 -0
  18. package/dist/callbacks/useSuspenseInfiniteQuery.js.map +1 -0
  19. package/dist/callbacks/useSuspenseQuery.d.ts +9 -0
  20. package/dist/callbacks/useSuspenseQuery.d.ts.map +1 -0
  21. package/dist/callbacks/useSuspenseQuery.js +28 -0
  22. package/dist/callbacks/useSuspenseQuery.js.map +1 -0
  23. package/dist/lib/shelfMerge.d.ts +7 -0
  24. package/dist/lib/shelfMerge.d.ts.map +1 -0
  25. package/dist/lib/shelfMerge.js +28 -0
  26. package/dist/lib/shelfMerge.js.map +1 -0
  27. package/package.json +2 -2
  28. package/src/ServiceOperation.ts +58 -2
  29. package/src/callbacks/useInfiniteQuery.ts +3 -36
  30. package/src/callbacks/useMutation.ts +2 -0
  31. package/src/callbacks/useQuery.ts +2 -0
  32. package/src/callbacks/useSuspenseInfiniteQuery.ts +60 -0
  33. package/src/callbacks/useSuspenseQuery.ts +64 -0
  34. package/src/{callbacks → lib}/shelfMerge.test.ts +1 -1
  35. package/src/lib/shelfMerge.ts +35 -0
  36. package/src/qraftAPIClient.test.tsx +134 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @openapi-qraft/react
2
2
 
3
+ ## 1.0.0-beta.5
4
+
5
+ ### Patch Changes
6
+
7
+ - cd66c2e: feature: add support of `useSuspenseQuery(..)` hook
8
+ - 1b93dc7: feature: add support of `useSuspenseInfiniteQuery(..)` hook
9
+
10
+ ## 1.0.0-beta.4
11
+
12
+ ### Patch Changes
13
+
14
+ - c940886: Add 'use client' header for Next.js /app compatibility
15
+
3
16
  ## 1.0.0-beta.3
4
17
 
5
18
  ### Patch Changes
package/README.md CHANGED
@@ -318,6 +318,13 @@ infiniteQuery.fetchNextPage();
318
318
  infiniteQuery.fetchPreviousPage();
319
319
  ```
320
320
 
321
+ ### Suspense Queries
322
+
323
+ Supported Suspense Queries are:
324
+
325
+ - [useSuspenseQuery 🔗](https://tanstack.com/query/latest/docs/framework/react/reference/useSuspenseQuery)
326
+ - [useSuspenseInfiniteQuery 🔗](https://tanstack.com/query/latest/docs/framework/react/reference/useSuspenseInfiniteQuery)
327
+
321
328
  ## Contributing
322
329
 
323
330
  Contributions are welcome! If you have suggestions or want to improve `@openapi-qraft/react`, please feel free to submit
@@ -1,5 +1,5 @@
1
- import { DefaultError, InfiniteData, QueryClient, InfiniteQueryPageParamsOptions, NoInfer, SetDataOptions, Updater } from '@tanstack/query-core';
2
- import type { DefinedInitialDataInfiniteOptions, DefinedInitialDataOptions, DefinedUseInfiniteQueryResult, DefinedUseQueryResult, UndefinedInitialDataInfiniteOptions, UndefinedInitialDataOptions, UseInfiniteQueryResult, UseMutationOptions, UseMutationResult, UseQueryResult } from '@tanstack/react-query';
1
+ import { DefaultError, InfiniteData, InfiniteQueryPageParamsOptions, NoInfer, QueryClient, SetDataOptions, Updater } from '@tanstack/query-core';
2
+ import { DefinedInitialDataInfiniteOptions, DefinedInitialDataOptions, DefinedUseInfiniteQueryResult, DefinedUseQueryResult, UndefinedInitialDataInfiniteOptions, UndefinedInitialDataOptions, UseInfiniteQueryResult, UseMutationOptions, UseMutationResult, UseQueryResult, UseSuspenseInfiniteQueryOptions, UseSuspenseInfiniteQueryResult, UseSuspenseQueryOptions, UseSuspenseQueryResult } from '@tanstack/react-query';
3
3
  export type ServiceOperationQueryKey<S extends {
4
4
  url: string;
5
5
  }, T> = [
@@ -18,7 +18,7 @@ export type ServiceOperationMutationKey<S extends Record<'url' | 'method', strin
18
18
  export interface ServiceOperationQuery<TSchema extends {
19
19
  url: string;
20
20
  method: string;
21
- }, TData, TParams, TError = DefaultError> extends ServiceOperationUseQuery<TSchema, TData, TParams, TError>, ServiceOperationUseInfiniteQuery<TSchema, TData, TParams, TError>, ServiceOperationQueryFn<TSchema, TData, TParams>, ServiceOperationGetQueryData<TData, TParams>, ServiceOperationGetInfiniteQueryData<TData, TParams>, ServiceOperationSetQueryData<TData, TParams>, ServiceOperationSetInfiniteQueryData<TData, TParams> {
21
+ }, TData, TParams, TError = DefaultError> extends ServiceOperationUseQuery<TSchema, TData, TParams, TError>, ServiceOperationUseInfiniteQuery<TSchema, TData, TParams, TError>, ServiceOperationUseSuspenseQueryQuery<TSchema, TData, TParams, TError>, ServiceOperationUseSuspenseInfiniteQuery<TSchema, TData, TParams, TError>, ServiceOperationQueryFn<TSchema, TData, TParams>, ServiceOperationGetQueryData<TData, TParams>, ServiceOperationGetInfiniteQueryData<TData, TParams>, ServiceOperationSetQueryData<TData, TParams>, ServiceOperationSetInfiniteQueryData<TData, TParams> {
22
22
  schema: TSchema;
23
23
  }
24
24
  interface ServiceOperationUseQuery<TSchema extends {
@@ -40,6 +40,18 @@ interface ServiceOperationUseInfiniteQuery<TSchema extends {
40
40
  useInfiniteQuery<TPageParam extends TParams>(params: TParams, options: Omit<UndefinedInitialDataInfiniteOptions<TData, TError, InfiniteData<TData>, ServiceOperationInfiniteQueryKey<TSchema, TParams> | readonly [...ServiceOperationInfiniteQueryKey<TSchema, TParams>], PartialParams<TPageParam>>, 'queryKey' | 'getPreviousPageParam' | 'getNextPageParam' | 'initialPageParam'> & InfiniteQueryPageParamsOptions<TData, PartialParams<TPageParam>>, queryClient?: QueryClient): UseInfiniteQueryResult<InfiniteData<TData>, TError | Error>;
41
41
  useInfiniteQuery<TPageParam extends TParams>(params: TParams, options: Omit<DefinedInitialDataInfiniteOptions<TData, TError, InfiniteData<TData>, ServiceOperationInfiniteQueryKey<TSchema, TParams> | readonly [...ServiceOperationInfiniteQueryKey<TSchema, TParams>], PartialParams<TPageParam>>, 'queryKey' | 'getPreviousPageParam' | 'getNextPageParam' | 'initialPageParam'> & InfiniteQueryPageParamsOptions<TData, PartialParams<TPageParam>>, queryClient?: QueryClient): DefinedUseInfiniteQueryResult<InfiniteData<TData>, TError | Error>;
42
42
  }
43
+ interface ServiceOperationUseSuspenseInfiniteQuery<TSchema extends {
44
+ url: string;
45
+ method: string;
46
+ }, TData, TParams = {}, TError = DefaultError> {
47
+ useSuspenseInfiniteQuery<TPageParam extends TParams>(params: TParams, options: Omit<UseSuspenseInfiniteQueryOptions<TData, TError, InfiniteData<TData>, TData, ServiceOperationInfiniteQueryKey<TSchema, TParams> | readonly [...ServiceOperationInfiniteQueryKey<TSchema, TParams>], PartialParams<TPageParam>>, 'queryKey' | 'getPreviousPageParam' | 'getNextPageParam' | 'initialPageParam'> & InfiniteQueryPageParamsOptions<TData, PartialParams<TPageParam>>, queryClient?: QueryClient): UseSuspenseInfiniteQueryResult<InfiniteData<TData>, TError | Error>;
48
+ }
49
+ interface ServiceOperationUseSuspenseQueryQuery<TSchema extends {
50
+ url: string;
51
+ method: string;
52
+ }, TData, TParams = {}, TError = DefaultError> {
53
+ useSuspenseQuery(params: TParams, options?: Omit<UseSuspenseQueryOptions<TData, TError, TData, ServiceOperationQueryKey<TSchema, TParams> | readonly [...ServiceOperationQueryKey<TSchema, TParams>]>, 'queryKey'>, queryClient?: QueryClient): UseSuspenseQueryResult<TData, TError | Error>;
54
+ }
43
55
  export interface ServiceOperationMutation<TSchema extends {
44
56
  url: string;
45
57
  method: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceOperation.d.ts","sourceRoot":"","sources":["../src/ServiceOperation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServiceOperation.d.ts","sourceRoot":"","sources":["../src/ServiceOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,8BAA8B,EAC9B,OAAO,EACP,WAAW,EACX,cAAc,EACd,OAAO,EACR,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iCAAiC,EACjC,yBAAyB,EACzB,6BAA6B,EAC7B,qBAAqB,EACrB,mCAAmC,EACnC,2BAA2B,EAC3B,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,+BAA+B,EAC/B,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,IAAI;IACnE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC;IACd,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,gCAAgC,CAAC,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,IAAI;IAC3E,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE;IACnC,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,2BAA2B,CACrC,CAAC,SAAS,MAAM,CAAC,KAAK,GAAG,QAAQ,EAAE,MAAM,CAAC,EAC1C,CAAC,IACC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnC,MAAM,WAAW,qBAAqB,CACpC,OAAO,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,KAAK,EACL,OAAO,EACP,MAAM,GAAG,YAAY,CACrB,SAAQ,wBAAwB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAC/D,gCAAgC,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EACjE,qCAAqC,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EACtE,wCAAwC,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EACzE,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,EAChD,4BAA4B,CAAC,KAAK,EAAE,OAAO,CAAC,EAC5C,oCAAoC,CAAC,KAAK,EAAE,OAAO,CAAC,EACpD,4BAA4B,CAAC,KAAK,EAAE,OAAO,CAAC,EAC5C,oCAAoC,CAAC,KAAK,EAAE,OAAO,CAAC;IACtD,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,wBAAwB,CAChC,OAAO,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,KAAK,EACL,OAAO,GAAG,EAAE,EACZ,MAAM,GAAG,YAAY;IAErB,WAAW,CAAC,cAAc,SAAS,OAAO,EACxC,MAAM,EAAE,cAAc,GACrB,wBAAwB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAErD,QAAQ,CACN,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,IAAI,CACZ,2BAA2B,CACzB,KAAK,EACL,MAAM,EACN,KAAK,EACH,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,GAC1C,SAAS,CAAC,GAAG,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAC3D,EACD,UAAU,CACX,EACD,WAAW,CAAC,EAAE,WAAW,GACxB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;IACzC,QAAQ,CACN,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,IAAI,CACX,yBAAyB,CACvB,KAAK,EACL,MAAM,EACN,KAAK,EACH,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,GAC1C,SAAS,CAAC,GAAG,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAC3D,EACD,UAAU,CACX,EACD,WAAW,CAAC,EAAE,WAAW,GACxB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;CACjD;AAED,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACpC;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAC/D,CAAC,CAAC;AAEN,UAAU,gCAAgC,CACxC,OAAO,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,KAAK,EACL,OAAO,GAAG,EAAE,EACZ,MAAM,GAAG,YAAY;IAErB,mBAAmB,CAAC,cAAc,SAAS,OAAO,EAChD,MAAM,EAAE,cAAc,GACrB,gCAAgC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAE7D,gBAAgB,CAAC,UAAU,SAAS,OAAO,EACzC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,IAAI,CACX,mCAAmC,CACjC,KAAK,EACL,MAAM,EACN,YAAY,CAAC,KAAK,CAAC,EACjB,gCAAgC,CAAC,OAAO,EAAE,OAAO,CAAC,GAClD,SAAS,CAAC,GAAG,gCAAgC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAClE,aAAa,CAAC,UAAU,CAAC,CAC1B,EACC,UAAU,GACV,sBAAsB,GACtB,kBAAkB,GAClB,kBAAkB,CACrB,GACC,8BAA8B,CAAC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,EAClE,WAAW,CAAC,EAAE,WAAW,GACxB,sBAAsB,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;IAC/D,gBAAgB,CAAC,UAAU,SAAS,OAAO,EACzC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,IAAI,CACX,iCAAiC,CAC/B,KAAK,EACL,MAAM,EACN,YAAY,CAAC,KAAK,CAAC,EACjB,gCAAgC,CAAC,OAAO,EAAE,OAAO,CAAC,GAClD,SAAS,CAAC,GAAG,gCAAgC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAClE,aAAa,CAAC,UAAU,CAAC,CAC1B,EACC,UAAU,GACV,sBAAsB,GACtB,kBAAkB,GAClB,kBAAkB,CACrB,GACC,8BAA8B,CAAC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,EAClE,WAAW,CAAC,EAAE,WAAW,GACxB,6BAA6B,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;CACvE;AAED,UAAU,wCAAwC,CAChD,OAAO,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,KAAK,EACL,OAAO,GAAG,EAAE,EACZ,MAAM,GAAG,YAAY;IAErB,wBAAwB,CAAC,UAAU,SAAS,OAAO,EACjD,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,IAAI,CACX,+BAA+B,CAC7B,KAAK,EACL,MAAM,EACN,YAAY,CAAC,KAAK,CAAC,EACnB,KAAK,EACH,gCAAgC,CAAC,OAAO,EAAE,OAAO,CAAC,GAClD,SAAS,CAAC,GAAG,gCAAgC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAClE,aAAa,CAAC,UAAU,CAAC,CAC1B,EACC,UAAU,GACV,sBAAsB,GACtB,kBAAkB,GAClB,kBAAkB,CACrB,GACC,8BAA8B,CAAC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,EAClE,WAAW,CAAC,EAAE,WAAW,GACxB,8BAA8B,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;CACxE;AAED,UAAU,qCAAqC,CAC7C,OAAO,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,KAAK,EACL,OAAO,GAAG,EAAE,EACZ,MAAM,GAAG,YAAY;IAErB,gBAAgB,CACd,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,IAAI,CACZ,uBAAuB,CACrB,KAAK,EACL,MAAM,EACN,KAAK,EACH,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,GAC1C,SAAS,CAAC,GAAG,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAC3D,EACD,UAAU,CACX,EACD,WAAW,CAAC,EAAE,WAAW,GACxB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,wBAAwB,CACvC,OAAO,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,KAAK,EACL,KAAK,EACL,OAAO,EACP,MAAM,GAAG,YAAY,CACrB,SAAQ,2BAA2B,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EACzE,0BAA0B,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAC1D,4BAA4B,CAAC,KAAK,EAAE,OAAO,CAAC;IAC9C,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,2BAA2B,CACnC,OAAO,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,KAAK,EACL,KAAK,EACL,OAAO,EACP,MAAM,GAAG,YAAY;IAErB,cAAc,CAAC,CAAC,SAAS,OAAO,EAC9B,MAAM,EAAE,CAAC,GACR,2BAA2B,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAE3C,WAAW,CACT,UAAU,SAAS;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,KAAK,GACpE,EAAE,GACF,OAAO,CAAC,EACZ,QAAQ,GAAG,OAAO,EAElB,MAAM,CAAC,EAAE,SAAS,EAClB,OAAO,CAAC,EAAE,IAAI,CACZ,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EACvD,aAAa,CACd,GAAG;QACF,WAAW,CAAC,EAAE,2BAA2B,CACvC,OAAO,EACP,WAAW,CAAC,OAAO,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,OAAO,CAClD,CAAC;KACH,EACD,WAAW,CAAC,EAAE,WAAW,GACxB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAElE,WAAW,CAAC,UAAU,SAAS,KAAK,EAAE,QAAQ,GAAG,OAAO,EACtD,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,IAAI,CACZ,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EACvD,aAAa,CACd,EACD,WAAW,CAAC,EAAE,WAAW,GACxB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;CACnE;AAED,UAAU,uBAAuB,CAC/B,OAAO,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,KAAK,EACL,OAAO;IAEP,OAAO,CACL,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,OAAO,SAAS,WAAW,GAAG,WAAW,EAEzC,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,CAC1C;QAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;KAAE,GAChC;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,CAC1B,EACD,MAAM,EAAE,CACN,MAAM,EAAE,OAAO,EACf,OAAO,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE,KAAK,CAAC;KACd,KACE,KAAK,GACT,KAAK,CAAC;IAET,OAAO,CACL,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,OAAO,SAAS,WAAW,GAAG,WAAW,EAEzC,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,CAC1C;QAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;KAAE,GAChC;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,CAC1B,EACD,MAAM,EAAE,CACN,MAAM,EAAE,OAAO,EACf,OAAO,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE,KAAK,CAAC;KACd,KACE,OAAO,CAAC,KAAK,CAAC,GAClB,OAAO,CAAC,KAAK,CAAC,CAAC;CACnB;AAED,UAAU,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE;IACxD,YAAY,CACV,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,EACxE,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,KAAK,GAAG,SAAS,CAAC;CACtB;AAED,UAAU,oCAAoC,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE;IAChE,oBAAoB,CAClB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,OAAO,CACd,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,EACxC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,CACzC,EACD,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;CACpC;AAED,UAAU,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE;IACxD,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,KAAK,GAAG,SAAS,CAAC;CAC9E;AAED,UAAU,oCAAoC,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE;IAChE,oBAAoB,CAClB,QAAQ,EAAE,OAAO,EACjB,WAAW,EAAE,WAAW,GACvB,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,0BAA0B,CACzC,OAAO,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,KAAK,EACL,KAAK,EACL,OAAO;IAEP,UAAU,CACR,MAAM,EAAE,CACN,MAAM,EAAE,OAAO,EACf,OAAO,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,IAAI,EAAE,KAAK,CAAC;KACb,KACE,KAAK,EACV,OAAO,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,IAAI,EAAE,KAAK,CAAC;KACb,GACA,KAAK,CAAC;IAET,UAAU,CACR,MAAM,EAAE,CACN,MAAM,EAAE,OAAO,EACf,OAAO,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,IAAI,EAAE,KAAK,CAAC;KACb,KACE,OAAO,CAAC,KAAK,CAAC,EACnB,OAAO,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,IAAI,EAAE,KAAK,CAAC;KACb,GACA,OAAO,CAAC,KAAK,CAAC,CAAC;CACnB"}
@@ -4,10 +4,4 @@ import type { QraftClientOptions } from '../qraftAPIClient.js';
4
4
  import type { RequestClientSchema } from '../RequestClient.js';
5
5
  import { ServiceOperationQuery } from '../ServiceOperation.js';
6
6
  export declare const useInfiniteQuery: <TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>>(qraftOptions: QraftClientOptions | undefined, schema: RequestClientSchema, args: Parameters<ServiceOperationQuery<RequestClientSchema, unknown, unknown>['useInfiniteQuery']>) => UseInfiniteQueryResult<TData, TError>;
7
- /**
8
- * Merges objects with provided depth
9
- * @param depth
10
- * @param args
11
- */
12
- export declare function shelfMerge<T>(depth?: number, ...args: T[]): T;
13
7
  //# sourceMappingURL=useInfiniteQuery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useInfiniteQuery.d.ts","sourceRoot":"","sources":["../../src/callbacks/useInfiniteQuery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAEL,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,eAAO,MAAM,gBAAgB,EAAE,CAC7B,YAAY,EACZ,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC,EAElC,YAAY,EAAE,kBAAkB,GAAG,SAAS,EAC5C,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,UAAU,CACd,qBAAqB,CACnB,mBAAmB,EACnB,OAAO,EACP,OAAO,CACR,CAAC,kBAAkB,CAAC,CACtB,KACE,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAwBxC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,SAAI,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CA6BxD"}
1
+ {"version":3,"file":"useInfiniteQuery.d.ts","sourceRoot":"","sources":["../../src/callbacks/useInfiniteQuery.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAEL,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,eAAO,MAAM,gBAAgB,EAAE,CAC7B,YAAY,EACZ,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC,EAElC,YAAY,EAAE,kBAAkB,GAAG,SAAS,EAC5C,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,UAAU,CACd,qBAAqB,CACnB,mBAAmB,EACnB,OAAO,EACP,OAAO,CACR,CAAC,kBAAkB,CAAC,CACtB,KACE,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAwBxC,CAAC"}
@@ -1,5 +1,7 @@
1
+ 'use client';
1
2
  import { useContext } from 'react';
2
3
  import { useInfiniteQuery as useInfiniteQueryBase, } from '@tanstack/react-query';
4
+ import { shelfMerge } from '../lib/shelfMerge.js';
3
5
  import { QraftContext } from '../QraftContext.js';
4
6
  export const useInfiniteQuery = (qraftOptions, schema, args) => {
5
7
  const [params, options, ...restArgs] = args;
@@ -20,31 +22,4 @@ export const useInfiniteQuery = (qraftOptions, schema, args) => {
20
22
  },
21
23
  }, ...restArgs);
22
24
  };
23
- /**
24
- * Merges objects with provided depth
25
- * @param depth
26
- * @param args
27
- */
28
- export function shelfMerge(depth = 2, ...args) {
29
- return args.reduce((acc, arg) => {
30
- if (!arg || typeof arg !== 'object')
31
- return acc;
32
- Object.entries(arg).forEach(([key, value]) => {
33
- if (typeof value !== 'object') {
34
- acc[key] = value;
35
- return;
36
- }
37
- if (Array.isArray(value)) {
38
- acc[key] = value;
39
- return;
40
- }
41
- if (depth > 1) {
42
- acc[key] = shelfMerge(depth - 1, acc[key], value);
43
- return;
44
- }
45
- acc[key] = value;
46
- });
47
- return acc;
48
- }, {});
49
- }
50
25
  //# sourceMappingURL=useInfiniteQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useInfiniteQuery.js","sourceRoot":"","sources":["../../src/callbacks/useInfiniteQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGnC,OAAO,EACL,gBAAgB,IAAI,oBAAoB,GAEzC,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,MAAM,CAAC,MAAM,gBAAgB,GAcgB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAC1E,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;IAE5C,MAAM,aAAa,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,IAAI,YAAY,CAAC;QACrE,EAAE,aAAa,CAAC;IAElB,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAE5E,OAAO,oBAAoB,CACzB;QACE,GAAG,OAAO;QACV,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,MAAe,CAAU;QACzE,OAAO,EACL,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9D,OAAO,aAAa,CAAC,MAAM,EAAE;oBAC3B,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAU;oBAC1D,MAAM;oBACN,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;KACJ,EACD,GAAG,QAAQ,CACH,CAAC;AACb,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAI,KAAK,GAAG,CAAC,EAAE,GAAG,IAAS;IACnD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAC;QAEhD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,GAAG,CAAC,GAAY,CAAC,GAAG,KAAc,CAAC;gBACnC,OAAO;YACT,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,GAAY,CAAC,GAAG,KAAc,CAAC;gBACnC,OAAO;YACT,CAAC;YAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,GAAG,CAAC,GAAY,CAAC,GAAG,UAAU,CAC5B,KAAK,GAAG,CAAC,EACT,GAAG,CAAC,GAAY,CAAC,EACjB,KAAK,CACG,CAAC;gBACX,OAAO;YACT,CAAC;YAED,GAAG,CAAC,GAAY,CAAC,GAAG,KAAc,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAO,CAAC,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"useInfiniteQuery.js","sourceRoot":"","sources":["../../src/callbacks/useInfiniteQuery.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGnC,OAAO,EACL,gBAAgB,IAAI,oBAAoB,GAEzC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,MAAM,CAAC,MAAM,gBAAgB,GAcgB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAC1E,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;IAE5C,MAAM,aAAa,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,IAAI,YAAY,CAAC;QACrE,EAAE,aAAa,CAAC;IAElB,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAE5E,OAAO,oBAAoB,CACzB;QACE,GAAG,OAAO;QACV,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,MAAe,CAAU;QACzE,OAAO,EACL,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9D,OAAO,aAAa,CAAC,MAAM,EAAE;oBAC3B,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAU;oBAC1D,MAAM;oBACN,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;KACJ,EACD,GAAG,QAAQ,CACH,CAAC;AACb,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMutation.d.ts","sourceRoot":"","sources":["../../src/callbacks/useMutation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EACL,wBAAwB,EAEzB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,WAAW,EAAE,CACxB,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,OAAO,EAElB,YAAY,EAAE,kBAAkB,GAAG,SAAS,EAC5C,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,UAAU,CACd,wBAAwB,CACtB,mBAAmB,EACnB,MAAM,GAAG,SAAS,EAClB,UAAU,EACV,KAAK,CACN,CAAC,aAAa,CAAC,CACjB,KACE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAqEzD,CAAC"}
1
+ {"version":3,"file":"useMutation.d.ts","sourceRoot":"","sources":["../../src/callbacks/useMutation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EACL,wBAAwB,EAEzB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,WAAW,EAAE,CACxB,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,OAAO,EAElB,YAAY,EAAE,kBAAkB,GAAG,SAAS,EAC5C,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,UAAU,CACd,wBAAwB,CACtB,mBAAmB,EACnB,MAAM,GAAG,SAAS,EAClB,UAAU,EACV,KAAK,CACN,CAAC,aAAa,CAAC,CACjB,KACE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAqEzD,CAAC"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useContext } from 'react';
2
3
  import { useMutation as useMutationBase } from '@tanstack/react-query';
3
4
  import { QraftContext } from '../QraftContext.js';
@@ -1 +1 @@
1
- {"version":3,"file":"useMutation.js","sourceRoot":"","sources":["../../src/callbacks/useMutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAInC,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,MAAM,CAAC,MAAM,WAAW,GAgBsC,CAC5D,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,EAAE;IACF,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;IAEhD,IACE,UAAU;QACV,OAAO,UAAU,KAAK,QAAQ;QAC9B,OAAO;QACP,aAAa,IAAI,OAAO;QAExB,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;IAEJ,MAAM,aAAa,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,IAAI,YAAY,CAAC;QACrE,EAAE,aAAa,CAAC;IAElB,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAE5E,MAAM,WAAW,GACf,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;QAC1C,CAAC,CAAE;YACC;gBACE,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB;YACD,UAAU;SACD;QACb,CAAC,CAAC,OAAO,IAAI,aAAa,IAAI,OAAO;YACnC,CAAC,CAAE,OAAO,CAAC,WAGP;YACJ,CAAC,CAAE;gBACC;oBACE,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB;aACQ,CAAC;IAEpB,OAAO,eAAe,CACpB;QACE,GAAG,OAAO;QACV,WAAW;QACX,UAAU,EACR,OAAO,EAAE,UAAU;YACnB,CAAC,UAAU;gBACT,CAAC,CAAC,UAAU,WAAW;oBACnB,OAAO,aAAa,CAAC,MAAM,EAAE;wBAC3B,UAAU;wBACV,IAAI,EAAE,WAAoB;qBAC3B,CAAC,CAAC;gBACL,CAAC;gBACH,CAAC,CAAC,UAAU,wBAAwB;oBAChC,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,GAAG,wBAE/B,CAAC;oBAEF,OAAO,aAAa,CAAC,MAAM,EAAE;wBAC3B,IAAI;wBACJ,UAAU;qBACF,CAAC,CAAC;gBACd,CAAC,CAAC;KACT,EACD,GAAG,QAAQ,CACH,CAAC;AACb,CAAC,CAAC"}
1
+ {"version":3,"file":"useMutation.js","sourceRoot":"","sources":["../../src/callbacks/useMutation.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAInC,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,MAAM,CAAC,MAAM,WAAW,GAgBsC,CAC5D,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,EAAE;IACF,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;IAEhD,IACE,UAAU;QACV,OAAO,UAAU,KAAK,QAAQ;QAC9B,OAAO;QACP,aAAa,IAAI,OAAO;QAExB,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;IAEJ,MAAM,aAAa,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,IAAI,YAAY,CAAC;QACrE,EAAE,aAAa,CAAC;IAElB,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAE5E,MAAM,WAAW,GACf,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;QAC1C,CAAC,CAAE;YACC;gBACE,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB;YACD,UAAU;SACD;QACb,CAAC,CAAC,OAAO,IAAI,aAAa,IAAI,OAAO;YACnC,CAAC,CAAE,OAAO,CAAC,WAGP;YACJ,CAAC,CAAE;gBACC;oBACE,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB;aACQ,CAAC;IAEpB,OAAO,eAAe,CACpB;QACE,GAAG,OAAO;QACV,WAAW;QACX,UAAU,EACR,OAAO,EAAE,UAAU;YACnB,CAAC,UAAU;gBACT,CAAC,CAAC,UAAU,WAAW;oBACnB,OAAO,aAAa,CAAC,MAAM,EAAE;wBAC3B,UAAU;wBACV,IAAI,EAAE,WAAoB;qBAC3B,CAAC,CAAC;gBACL,CAAC;gBACH,CAAC,CAAC,UAAU,wBAAwB;oBAChC,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,GAAG,wBAE/B,CAAC;oBAEF,OAAO,aAAa,CAAC,MAAM,EAAE;wBAC3B,IAAI;wBACJ,UAAU;qBACF,CAAC,CAAC;gBACd,CAAC,CAAC;KACT,EACD,GAAG,QAAQ,CACH,CAAC;AACb,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../src/callbacks/useQuery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,QAAQ,EAAE,CACrB,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EAEpB,YAAY,EAAE,kBAAkB,GAAG,SAAS,EAC5C,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,UAAU,CACd,qBAAqB,CAAC,mBAAmB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,CACzE,KACE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG;IACnC,QAAQ,EAAE,wBAAwB,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;CA8BlE,CAAC"}
1
+ {"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../src/callbacks/useQuery.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,QAAQ,EAAE,CACrB,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EAEpB,YAAY,EAAE,kBAAkB,GAAG,SAAS,EAC5C,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,UAAU,CACd,qBAAqB,CAAC,mBAAmB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,CACzE,KACE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG;IACnC,QAAQ,EAAE,wBAAwB,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;CA8BlE,CAAC"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useContext } from 'react';
2
3
  import { useQuery as useQueryBase } from '@tanstack/react-query';
3
4
  import { QraftContext } from '../QraftContext.js';
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery.js","sourceRoot":"","sources":["../../src/callbacks/useQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAInC,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGjE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,MAAM,CAAC,MAAM,QAAQ,GAYjB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IACjC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;IAE5C,MAAM,aAAa,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,IAAI,YAAY,CAAC;QACrE,EAAE,aAAa,CAAC;IAElB,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAA2D;QACvE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE;QACnB,MAAM;KACP,CAAC;IAEF,OAAO,YAAY,CACjB;QACE,GAAG,OAAO;QACV,QAAQ;QACR,OAAO,EACL,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;gBACnD,OAAO,aAAa,CAAC,MAAM,EAAE;oBAC3B,UAAU,EAAE,WAAoB;oBAChC,MAAM;oBACN,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;KACJ,EACD,GAAG,QAAQ,CACH,CAAC;AACb,CAAC,CAAC"}
1
+ {"version":3,"file":"useQuery.js","sourceRoot":"","sources":["../../src/callbacks/useQuery.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAInC,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGjE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,MAAM,CAAC,MAAM,QAAQ,GAYjB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IACjC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;IAE5C,MAAM,aAAa,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,IAAI,YAAY,CAAC;QACrE,EAAE,aAAa,CAAC;IAElB,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAA2D;QACvE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE;QACnB,MAAM;KACP,CAAC;IAEF,OAAO,YAAY,CACjB;QACE,GAAG,OAAO;QACV,QAAQ;QACR,OAAO,EACL,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;gBACnD,OAAO,aAAa,CAAC,MAAM,EAAE;oBAC3B,UAAU,EAAE,WAAoB;oBAChC,MAAM;oBACN,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;KACJ,EACD,GAAG,QAAQ,CACH,CAAC;AACb,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { DefaultError, InfiniteData } from '@tanstack/query-core';
2
+ import { UseSuspenseInfiniteQueryResult } from '@tanstack/react-query';
3
+ import type { QraftClientOptions } from '../qraftAPIClient.js';
4
+ import type { RequestClientSchema } from '../RequestClient.js';
5
+ import { ServiceOperationQuery, ServiceOperationQueryKey } from '../ServiceOperation.js';
6
+ export declare const useSuspenseInfiniteQuery: <TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>>(qraftOptions: QraftClientOptions | undefined, schema: RequestClientSchema, args: Parameters<ServiceOperationQuery<RequestClientSchema, unknown, unknown>['useSuspenseInfiniteQuery']>) => UseSuspenseInfiniteQueryResult<TData, TError> & {
7
+ queryKey: ServiceOperationQueryKey<RequestClientSchema, unknown>;
8
+ };
9
+ //# sourceMappingURL=useSuspenseInfiniteQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSuspenseInfiniteQuery.d.ts","sourceRoot":"","sources":["../../src/callbacks/useSuspenseInfiniteQuery.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAEL,8BAA8B,EAC/B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,wBAAwB,EAAE,CACrC,YAAY,EACZ,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC,EAElC,YAAY,EAAE,kBAAkB,GAAG,SAAS,EAC5C,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,UAAU,CACd,qBAAqB,CACnB,mBAAmB,EACnB,OAAO,EACP,OAAO,CACR,CAAC,0BAA0B,CAAC,CAC9B,KACE,8BAA8B,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG;IACnD,QAAQ,EAAE,wBAAwB,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;CAyBlE,CAAC"}
@@ -0,0 +1,25 @@
1
+ 'use client';
2
+ import { useContext } from 'react';
3
+ import { useSuspenseInfiniteQuery as useSuspenseInfiniteQueryTanstack, } from '@tanstack/react-query';
4
+ import { shelfMerge } from '../lib/shelfMerge.js';
5
+ import { QraftContext } from '../QraftContext.js';
6
+ export const useSuspenseInfiniteQuery = (qraftOptions, schema, args) => {
7
+ const [params, options, ...restArgs] = args;
8
+ const requestClient = useContext(qraftOptions?.context ?? QraftContext)
9
+ ?.requestClient;
10
+ if (!requestClient)
11
+ throw new Error(`QraftContext.requestClient not found`);
12
+ return useSuspenseInfiniteQueryTanstack({
13
+ ...options,
14
+ queryKey: [{ url: schema.url, infinite: true }, params],
15
+ queryFn: options?.queryFn ??
16
+ function ({ queryKey: [, queryParams], signal, meta, pageParam }) {
17
+ return requestClient(schema, {
18
+ parameters: shelfMerge(2, queryParams, pageParam),
19
+ signal,
20
+ meta,
21
+ });
22
+ },
23
+ }, ...restArgs);
24
+ };
25
+ //# sourceMappingURL=useSuspenseInfiniteQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSuspenseInfiniteQuery.js","sourceRoot":"","sources":["../../src/callbacks/useSuspenseInfiniteQuery.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGnC,OAAO,EACL,wBAAwB,IAAI,gCAAgC,GAE7D,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,MAAM,CAAC,MAAM,wBAAwB,GAgBjC,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IACjC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;IAE5C,MAAM,aAAa,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,IAAI,YAAY,CAAC;QACrE,EAAE,aAAa,CAAC;IAElB,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAE5E,OAAO,gCAAgC,CACrC;QACE,GAAG,OAAO;QACV,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,MAAe,CAAU;QACzE,OAAO,EACL,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9D,OAAO,aAAa,CAAC,MAAM,EAAE;oBAC3B,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAU;oBAC1D,MAAM;oBACN,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;KACJ,EACD,GAAG,QAAQ,CACH,CAAC;AACb,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { DefaultError } from '@tanstack/query-core';
2
+ import { UseQueryResult } from '@tanstack/react-query';
3
+ import type { QraftClientOptions } from '../qraftAPIClient.js';
4
+ import type { RequestClientSchema } from '../RequestClient.js';
5
+ import { ServiceOperationQuery, ServiceOperationQueryKey } from '../ServiceOperation.js';
6
+ export declare const useSuspenseQuery: <TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData>(qraftOptions: QraftClientOptions | undefined, schema: RequestClientSchema, args: Parameters<ServiceOperationQuery<RequestClientSchema, unknown, unknown>['useSuspenseQuery']>) => UseQueryResult<TData, TError> & {
7
+ queryKey: ServiceOperationQueryKey<RequestClientSchema, unknown>;
8
+ };
9
+ //# sourceMappingURL=useSuspenseQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSuspenseQuery.d.ts","sourceRoot":"","sources":["../../src/callbacks/useSuspenseQuery.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,cAAc,EAEf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,gBAAgB,EAAE,CAC7B,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EAEpB,YAAY,EAAE,kBAAkB,GAAG,SAAS,EAC5C,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,UAAU,CACd,qBAAqB,CACnB,mBAAmB,EACnB,OAAO,EACP,OAAO,CACR,CAAC,kBAAkB,CAAC,CACtB,KACE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG;IACnC,QAAQ,EAAE,wBAAwB,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;CA8BlE,CAAC"}
@@ -0,0 +1,28 @@
1
+ 'use client';
2
+ import { useContext } from 'react';
3
+ import { useSuspenseQuery as useSuspenseQueryTanstack, } from '@tanstack/react-query';
4
+ import { QraftContext } from '../QraftContext.js';
5
+ export const useSuspenseQuery = (qraftOptions, schema, args) => {
6
+ const [params, options, ...restArgs] = args;
7
+ const requestClient = useContext(qraftOptions?.context ?? QraftContext)
8
+ ?.requestClient;
9
+ if (!requestClient)
10
+ throw new Error(`QraftContext.requestClient not found`);
11
+ const queryKey = [
12
+ { url: schema.url },
13
+ params,
14
+ ];
15
+ return useSuspenseQueryTanstack({
16
+ ...options,
17
+ queryKey,
18
+ queryFn: options?.queryFn ??
19
+ function ({ queryKey: [, queryParams], signal, meta }) {
20
+ return requestClient(schema, {
21
+ parameters: queryParams,
22
+ signal,
23
+ meta,
24
+ });
25
+ },
26
+ }, ...restArgs);
27
+ };
28
+ //# sourceMappingURL=useSuspenseQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSuspenseQuery.js","sourceRoot":"","sources":["../../src/callbacks/useSuspenseQuery.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGnC,OAAO,EAEL,gBAAgB,IAAI,wBAAwB,GAC7C,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,MAAM,CAAC,MAAM,gBAAgB,GAgBzB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IACjC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;IAE5C,MAAM,aAAa,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,IAAI,YAAY,CAAC;QACrE,EAAE,aAAa,CAAC;IAElB,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAA2D;QACvE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE;QACnB,MAAM;KACP,CAAC;IAEF,OAAO,wBAAwB,CAC7B;QACE,GAAG,OAAO;QACV,QAAQ;QACR,OAAO,EACL,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;gBACnD,OAAO,aAAa,CAAC,MAAM,EAAE;oBAC3B,UAAU,EAAE,WAAoB;oBAChC,MAAM;oBACN,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;KACJ,EACD,GAAG,QAAQ,CACH,CAAC;AACb,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Merges objects with provided depth
3
+ * @param depth
4
+ * @param args
5
+ */
6
+ export declare function shelfMerge<T>(depth?: number, ...args: T[]): T;
7
+ //# sourceMappingURL=shelfMerge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shelfMerge.d.ts","sourceRoot":"","sources":["../../src/lib/shelfMerge.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,SAAI,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CA6BxD"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Merges objects with provided depth
3
+ * @param depth
4
+ * @param args
5
+ */
6
+ export function shelfMerge(depth = 2, ...args) {
7
+ return args.reduce((acc, arg) => {
8
+ if (!arg || typeof arg !== 'object')
9
+ return acc;
10
+ Object.entries(arg).forEach(([key, value]) => {
11
+ if (typeof value !== 'object') {
12
+ acc[key] = value;
13
+ return;
14
+ }
15
+ if (Array.isArray(value)) {
16
+ acc[key] = value;
17
+ return;
18
+ }
19
+ if (depth > 1) {
20
+ acc[key] = shelfMerge(depth - 1, acc[key], value);
21
+ return;
22
+ }
23
+ acc[key] = value;
24
+ });
25
+ return acc;
26
+ }, {});
27
+ }
28
+ //# sourceMappingURL=shelfMerge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shelfMerge.js","sourceRoot":"","sources":["../../src/lib/shelfMerge.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAI,KAAK,GAAG,CAAC,EAAE,GAAG,IAAS;IACnD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAC;QAEhD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,GAAG,CAAC,GAAY,CAAC,GAAG,KAAc,CAAC;gBACnC,OAAO;YACT,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,GAAY,CAAC,GAAG,KAAc,CAAC;gBACnC,OAAO;YACT,CAAC;YAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,GAAG,CAAC,GAAY,CAAC,GAAG,UAAU,CAC5B,KAAK,GAAG,CAAC,EACT,GAAG,CAAC,GAAY,CAAC,EACjB,KAAK,CACG,CAAC;gBACX,OAAO;YACT,CAAC;YAED,GAAG,CAAC,GAAY,CAAC,GAAG,KAAc,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAO,CAAC,CAAC;AACd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openapi-qraft/react",
3
- "version": "1.0.0-beta.3",
3
+ "version": "1.0.0-beta.5",
4
4
  "description": "API 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": "rimraf dist/ && tsc --project tsconfig.build.json",
@@ -13,7 +13,7 @@
13
13
  "type": "module",
14
14
  "sideEffects": false,
15
15
  "devDependencies": {
16
- "@openapi-qraft/cli": "~1.0.0-beta.2",
16
+ "@openapi-qraft/cli": "~1.0.0-beta.3",
17
17
  "@openapi-qraft/openapi-typescript": "^1.0.0-beta.1",
18
18
  "@tanstack/react-query": "^5.17.3",
19
19
  "@testing-library/jest-dom": "^5.17.0",
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  DefaultError,
3
3
  InfiniteData,
4
- QueryClient,
5
4
  InfiniteQueryPageParamsOptions,
6
5
  NoInfer,
6
+ QueryClient,
7
7
  SetDataOptions,
8
8
  Updater,
9
9
  } from '@tanstack/query-core';
10
- import type {
10
+ import {
11
11
  DefinedInitialDataInfiniteOptions,
12
12
  DefinedInitialDataOptions,
13
13
  DefinedUseInfiniteQueryResult,
@@ -18,6 +18,10 @@ import type {
18
18
  UseMutationOptions,
19
19
  UseMutationResult,
20
20
  UseQueryResult,
21
+ UseSuspenseInfiniteQueryOptions,
22
+ UseSuspenseInfiniteQueryResult,
23
+ UseSuspenseQueryOptions,
24
+ UseSuspenseQueryResult,
21
25
  } from '@tanstack/react-query';
22
26
 
23
27
  export type ServiceOperationQueryKey<S extends { url: string }, T> = [
@@ -42,6 +46,8 @@ export interface ServiceOperationQuery<
42
46
  TError = DefaultError,
43
47
  > extends ServiceOperationUseQuery<TSchema, TData, TParams, TError>,
44
48
  ServiceOperationUseInfiniteQuery<TSchema, TData, TParams, TError>,
49
+ ServiceOperationUseSuspenseQueryQuery<TSchema, TData, TParams, TError>,
50
+ ServiceOperationUseSuspenseInfiniteQuery<TSchema, TData, TParams, TError>,
45
51
  ServiceOperationQueryFn<TSchema, TData, TParams>,
46
52
  ServiceOperationGetQueryData<TData, TParams>,
47
53
  ServiceOperationGetInfiniteQueryData<TData, TParams>,
@@ -144,6 +150,56 @@ interface ServiceOperationUseInfiniteQuery<
144
150
  ): DefinedUseInfiniteQueryResult<InfiniteData<TData>, TError | Error>;
145
151
  }
146
152
 
153
+ interface ServiceOperationUseSuspenseInfiniteQuery<
154
+ TSchema extends { url: string; method: string },
155
+ TData,
156
+ TParams = {},
157
+ TError = DefaultError,
158
+ > {
159
+ useSuspenseInfiniteQuery<TPageParam extends TParams>(
160
+ params: TParams,
161
+ options: Omit<
162
+ UseSuspenseInfiniteQueryOptions<
163
+ TData,
164
+ TError,
165
+ InfiniteData<TData>,
166
+ TData,
167
+ | ServiceOperationInfiniteQueryKey<TSchema, TParams>
168
+ | readonly [...ServiceOperationInfiniteQueryKey<TSchema, TParams>],
169
+ PartialParams<TPageParam>
170
+ >,
171
+ | 'queryKey'
172
+ | 'getPreviousPageParam'
173
+ | 'getNextPageParam'
174
+ | 'initialPageParam'
175
+ > &
176
+ InfiniteQueryPageParamsOptions<TData, PartialParams<TPageParam>>,
177
+ queryClient?: QueryClient
178
+ ): UseSuspenseInfiniteQueryResult<InfiniteData<TData>, TError | Error>;
179
+ }
180
+
181
+ interface ServiceOperationUseSuspenseQueryQuery<
182
+ TSchema extends { url: string; method: string },
183
+ TData,
184
+ TParams = {},
185
+ TError = DefaultError,
186
+ > {
187
+ useSuspenseQuery(
188
+ params: TParams,
189
+ options?: Omit<
190
+ UseSuspenseQueryOptions<
191
+ TData,
192
+ TError,
193
+ TData,
194
+ | ServiceOperationQueryKey<TSchema, TParams>
195
+ | readonly [...ServiceOperationQueryKey<TSchema, TParams>]
196
+ >,
197
+ 'queryKey'
198
+ >,
199
+ queryClient?: QueryClient
200
+ ): UseSuspenseQueryResult<TData, TError | Error>;
201
+ }
202
+
147
203
  export interface ServiceOperationMutation<
148
204
  TSchema extends { url: string; method: string },
149
205
  TBody,
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import { useContext } from 'react';
2
4
 
3
5
  import type { DefaultError, InfiniteData } from '@tanstack/query-core';
@@ -6,6 +8,7 @@ import {
6
8
  UseInfiniteQueryResult,
7
9
  } from '@tanstack/react-query';
8
10
 
11
+ import { shelfMerge } from '../lib/shelfMerge.js';
9
12
  import type { QraftClientOptions } from '../qraftAPIClient.js';
10
13
  import { QraftContext } from '../QraftContext.js';
11
14
  import type { RequestClientSchema } from '../RequestClient.js';
@@ -50,39 +53,3 @@ export const useInfiniteQuery: <
50
53
  ...restArgs
51
54
  ) as never;
52
55
  };
53
-
54
- /**
55
- * Merges objects with provided depth
56
- * @param depth
57
- * @param args
58
- */
59
- export function shelfMerge<T>(depth = 2, ...args: T[]): T {
60
- return args.reduce((acc, arg) => {
61
- if (!arg || typeof arg !== 'object') return acc;
62
-
63
- Object.entries(arg).forEach(([key, value]) => {
64
- if (typeof value !== 'object') {
65
- acc[key as never] = value as never;
66
- return;
67
- }
68
-
69
- if (Array.isArray(value)) {
70
- acc[key as never] = value as never;
71
- return;
72
- }
73
-
74
- if (depth > 1) {
75
- acc[key as never] = shelfMerge(
76
- depth - 1,
77
- acc[key as never],
78
- value
79
- ) as never;
80
- return;
81
- }
82
-
83
- acc[key as never] = value as never;
84
- });
85
-
86
- return acc;
87
- }, {} as T);
88
- }
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import { useContext } from 'react';
2
4
 
3
5
  import type { DefaultError } from '@tanstack/query-core';
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import { useContext } from 'react';
2
4
 
3
5
  import type { DefaultError } from '@tanstack/query-core';
@@ -0,0 +1,60 @@
1
+ 'use client';
2
+
3
+ import { useContext } from 'react';
4
+
5
+ import type { DefaultError, InfiniteData } from '@tanstack/query-core';
6
+ import {
7
+ useSuspenseInfiniteQuery as useSuspenseInfiniteQueryTanstack,
8
+ UseSuspenseInfiniteQueryResult,
9
+ } from '@tanstack/react-query';
10
+
11
+ import { shelfMerge } from '../lib/shelfMerge.js';
12
+ import type { QraftClientOptions } from '../qraftAPIClient.js';
13
+ import { QraftContext } from '../QraftContext.js';
14
+ import type { RequestClientSchema } from '../RequestClient.js';
15
+ import {
16
+ ServiceOperationQuery,
17
+ ServiceOperationQueryKey,
18
+ } from '../ServiceOperation.js';
19
+
20
+ export const useSuspenseInfiniteQuery: <
21
+ TQueryFnData,
22
+ TError = DefaultError,
23
+ TData = InfiniteData<TQueryFnData>,
24
+ >(
25
+ qraftOptions: QraftClientOptions | undefined,
26
+ schema: RequestClientSchema,
27
+ args: Parameters<
28
+ ServiceOperationQuery<
29
+ RequestClientSchema,
30
+ unknown,
31
+ unknown
32
+ >['useSuspenseInfiniteQuery']
33
+ >
34
+ ) => UseSuspenseInfiniteQueryResult<TData, TError> & {
35
+ queryKey: ServiceOperationQueryKey<RequestClientSchema, unknown>;
36
+ } = (qraftOptions, schema, args) => {
37
+ const [params, options, ...restArgs] = args;
38
+
39
+ const requestClient = useContext(qraftOptions?.context ?? QraftContext)
40
+ ?.requestClient;
41
+
42
+ if (!requestClient) throw new Error(`QraftContext.requestClient not found`);
43
+
44
+ return useSuspenseInfiniteQueryTanstack(
45
+ {
46
+ ...options,
47
+ queryKey: [{ url: schema.url, infinite: true }, params as never] as const,
48
+ queryFn:
49
+ options?.queryFn ??
50
+ function ({ queryKey: [, queryParams], signal, meta, pageParam }) {
51
+ return requestClient(schema, {
52
+ parameters: shelfMerge(2, queryParams, pageParam) as never,
53
+ signal,
54
+ meta,
55
+ });
56
+ },
57
+ },
58
+ ...restArgs
59
+ ) as never;
60
+ };
@@ -0,0 +1,64 @@
1
+ 'use client';
2
+
3
+ import { useContext } from 'react';
4
+
5
+ import type { DefaultError } from '@tanstack/query-core';
6
+ import {
7
+ UseQueryResult,
8
+ useSuspenseQuery as useSuspenseQueryTanstack,
9
+ } from '@tanstack/react-query';
10
+
11
+ import type { QraftClientOptions } from '../qraftAPIClient.js';
12
+ import { QraftContext } from '../QraftContext.js';
13
+ import type { RequestClientSchema } from '../RequestClient.js';
14
+ import {
15
+ ServiceOperationQuery,
16
+ ServiceOperationQueryKey,
17
+ } from '../ServiceOperation.js';
18
+
19
+ export const useSuspenseQuery: <
20
+ TQueryFnData = unknown,
21
+ TError = DefaultError,
22
+ TData = TQueryFnData,
23
+ >(
24
+ qraftOptions: QraftClientOptions | undefined,
25
+ schema: RequestClientSchema,
26
+ args: Parameters<
27
+ ServiceOperationQuery<
28
+ RequestClientSchema,
29
+ unknown,
30
+ unknown
31
+ >['useSuspenseQuery']
32
+ >
33
+ ) => UseQueryResult<TData, TError> & {
34
+ queryKey: ServiceOperationQueryKey<RequestClientSchema, unknown>;
35
+ } = (qraftOptions, schema, args) => {
36
+ const [params, options, ...restArgs] = args;
37
+
38
+ const requestClient = useContext(qraftOptions?.context ?? QraftContext)
39
+ ?.requestClient;
40
+
41
+ if (!requestClient) throw new Error(`QraftContext.requestClient not found`);
42
+
43
+ const queryKey: ServiceOperationQueryKey<RequestClientSchema, unknown> = [
44
+ { url: schema.url },
45
+ params,
46
+ ];
47
+
48
+ return useSuspenseQueryTanstack(
49
+ {
50
+ ...options,
51
+ queryKey,
52
+ queryFn:
53
+ options?.queryFn ??
54
+ function ({ queryKey: [, queryParams], signal, meta }) {
55
+ return requestClient(schema, {
56
+ parameters: queryParams as never,
57
+ signal,
58
+ meta,
59
+ });
60
+ },
61
+ },
62
+ ...restArgs
63
+ ) as never;
64
+ };
@@ -1,4 +1,4 @@
1
- import { shelfMerge } from './useInfiniteQuery.js';
1
+ import { shelfMerge } from './shelfMerge.js';
2
2
 
3
3
  describe('shelfMerge', () => {
4
4
  it('merges simple objects', async () => {
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Merges objects with provided depth
3
+ * @param depth
4
+ * @param args
5
+ */
6
+ export function shelfMerge<T>(depth = 2, ...args: T[]): T {
7
+ return args.reduce((acc, arg) => {
8
+ if (!arg || typeof arg !== 'object') return acc;
9
+
10
+ Object.entries(arg).forEach(([key, value]) => {
11
+ if (typeof value !== 'object') {
12
+ acc[key as never] = value as never;
13
+ return;
14
+ }
15
+
16
+ if (Array.isArray(value)) {
17
+ acc[key as never] = value as never;
18
+ return;
19
+ }
20
+
21
+ if (depth > 1) {
22
+ acc[key as never] = shelfMerge(
23
+ depth - 1,
24
+ acc[key as never],
25
+ value
26
+ ) as never;
27
+ return;
28
+ }
29
+
30
+ acc[key as never] = value as never;
31
+ });
32
+
33
+ return acc;
34
+ }, {} as T);
35
+ }
@@ -9,8 +9,8 @@ import {
9
9
  import { act, renderHook, waitFor } from '@testing-library/react';
10
10
 
11
11
  import { createAPIClient } from './fixtures/api/index.js';
12
- import { bodySerializer, urlSerializer, request } from './lib/request.js';
13
- import { QraftContext, QraftContextValue } from './QraftContext.js';
12
+ import { bodySerializer, request, urlSerializer } from './lib/request.js';
13
+ import { QraftContextValue } from './QraftContext.js';
14
14
  import type { RequestClient } from './RequestClient.js';
15
15
 
16
16
  const qraft = createAPIClient();
@@ -130,6 +130,58 @@ describe('Qraft uses Queries', () => {
130
130
  });
131
131
  });
132
132
 
133
+ describe('Qraft uses Suspense Queries', () => {
134
+ it('supports useSuspenseQuery', async () => {
135
+ const hook = () => {
136
+ try {
137
+ return qraft.approvalPolicies.getApprovalPoliciesId.useSuspenseQuery({
138
+ header: {
139
+ 'x-monite-version': '1.0.0',
140
+ },
141
+ path: {
142
+ approval_policy_id: '1',
143
+ },
144
+ query: {
145
+ items_order: ['asc', 'desc'],
146
+ },
147
+ });
148
+ } catch (error) {
149
+ return error as Promise<unknown>;
150
+ }
151
+ };
152
+
153
+ const queryClient = new QueryClient();
154
+
155
+ const { result: resultWithErrorPromise } = renderHook(hook, {
156
+ wrapper: (props) => <Providers {...props} queryClient={queryClient} />,
157
+ });
158
+
159
+ expect(resultWithErrorPromise.current).toBeInstanceOf(Promise); // Suspense throws a promise
160
+
161
+ await resultWithErrorPromise.current;
162
+
163
+ const { result: resultWithData } = renderHook(hook, {
164
+ wrapper: (props) => <Providers {...props} queryClient={queryClient} />,
165
+ });
166
+
167
+ if (resultWithData.current instanceof Promise) {
168
+ throw new Error('Promise should be resolved');
169
+ }
170
+
171
+ expect(resultWithData.current.data).toEqual({
172
+ header: {
173
+ 'x-monite-version': '1.0.0',
174
+ },
175
+ path: {
176
+ approval_policy_id: '1',
177
+ },
178
+ query: {
179
+ items_order: ['asc', 'desc'],
180
+ },
181
+ });
182
+ });
183
+ });
184
+
133
185
  describe('Qraft uses Infinite Queries', () => {
134
186
  it('supports useInfiniteQuery', async () => {
135
187
  const { result } = renderHook(
@@ -292,6 +344,86 @@ describe('Qraft uses Infinite Queries', () => {
292
344
  });
293
345
  });
294
346
 
347
+ describe('Qraft uses Suspense Infinite Queries', () => {
348
+ it('supports useSuspenseInfiniteQuery', async () => {
349
+ const hook = () => {
350
+ try {
351
+ return qraft.files.getFiles.useSuspenseInfiniteQuery(
352
+ {
353
+ header: {
354
+ 'x-monite-version': '1.0.0',
355
+ },
356
+ query: {
357
+ id__in: ['1', '2'],
358
+ },
359
+ },
360
+ {
361
+ getNextPageParam: (lastPage, allPages, params) => {
362
+ return {
363
+ query: {
364
+ page: params.query?.page
365
+ ? String(Number(params.query.page) + 1)
366
+ : undefined,
367
+ },
368
+ };
369
+ },
370
+ initialPageParam: {
371
+ query: {
372
+ page: '1',
373
+ },
374
+ },
375
+ }
376
+ );
377
+ } catch (error) {
378
+ return error as Promise<unknown>;
379
+ }
380
+ };
381
+
382
+ const queryClient = new QueryClient();
383
+
384
+ const { result } = renderHook(hook, {
385
+ wrapper: (props) => <Providers {...props} queryClient={queryClient} />,
386
+ });
387
+
388
+ const { result: resultWithErrorPromise } = renderHook(hook, {
389
+ wrapper: (props) => <Providers {...props} queryClient={queryClient} />,
390
+ });
391
+
392
+ expect(resultWithErrorPromise.current).toBeInstanceOf(Promise); // Suspense throws a promise
393
+
394
+ await resultWithErrorPromise.current;
395
+
396
+ const { result: resultWithData } = renderHook(hook, {
397
+ wrapper: (props) => <Providers {...props} queryClient={queryClient} />,
398
+ });
399
+
400
+ if (resultWithData.current instanceof Promise) {
401
+ throw new Error('Promise should be resolved');
402
+ }
403
+
404
+ expect(resultWithData.current.data).toEqual({
405
+ pageParams: [
406
+ {
407
+ query: {
408
+ page: '1',
409
+ },
410
+ },
411
+ ],
412
+ pages: [
413
+ {
414
+ header: {
415
+ 'x-monite-version': '1.0.0',
416
+ },
417
+ query: {
418
+ id__in: ['1', '2'],
419
+ page: '1',
420
+ },
421
+ },
422
+ ],
423
+ });
424
+ });
425
+ });
426
+
295
427
  describe('Qraft uses Mutations', () => {
296
428
  it('supports useMutation without predefined parameters', async () => {
297
429
  const { result } = renderHook(