Skip to content

3.5.0

Choose a tag to compare

@github-actions github-actions released this 22 Jul 17:43
· 4 commits to master since this release
  • Extended React Query code generation for v5
    • queryOptions and infiniteQueryOptions are now generated and reused by existing useQuery / useInfiniteQuery hooks.
    • Enables better integration with @tanstack/router and other libraries. You can also use them with useSuspenseQuery, etc.
    • Example:
      /**
        * [GET] /download/ppt
        */
      export const queryOptionDownloadDownloadPpt= <TData = unknown, TError = Error>(openApiModuleApi:OpenApiModuleApi,  options: Omit<UseQueryOptions<unknown, TError, TData>, "queryFn" | "queryKey"> = {}) => queryOptions(
      {
            queryKey: [`download`, `ppt`],
            queryFn: ({ signal }) => openApiModuleApi.download.downloadPpt({  overrides: { signal }}),
            ...options
      });
      
      export function useQueryDownloadDownloadPpt<TData = unknown, TError = Error>( options: Omit<UseQueryOptions<unknown, TError, TData>, "queryFn" | "queryKey"> = {}) {
          const { openApiModuleApi } = useApi();
          return useQuery<unknown, TError, TData>(queryOptionDownloadDownloadPpt(openApiModuleApi, options));
      }
      
      /**
        * [GET] /activity
        * list all tiles (pinboards, searchconfigs, briefings or showrooms a user has access to
        */
      export const queryOptionActivityFindAll= <TData=PageableResult<ActivityUnion>, TError = Error>(openApiModuleApi:OpenApiModuleApi, filter: ActivityFindAll, options: Omit<UseInfiniteQueryOptions<PageableResult<ActivityUnion>, TError, TData>, "queryFn" | "queryKey"  | "getPreviousPageParam" | "getNextPageParam" | "initialPageParam"> = {}) => infiniteQueryOptions(
      {
          queryKey: [`activity`, `list`, filter ],
          queryFn: ({ pageParam, signal }) => {
              return openApiModuleApi.activity.findAll({ ...filter, page: pageParam, overrides: { signal } })
          },
          staleTime: 2 * 1000,     ...options,
          ...createPaginationOptions()});
      
      export function useInfiniteActivityFindAll<TData = PageableResult<ActivityUnion>, TError = Error>(filter: ActivityFindAll, options: Omit<UseInfiniteQueryOptions<PageableResult<ActivityUnion>, TError, TData>, "queryFn" | "queryKey"  | "getPreviousPageParam" | "getNextPageParam" | "initialPageParam"> = {}) {
          const { openApiModuleApi } = useApi();
          return useInfiniteQuery<PageableResult<ActivityUnion>, TError, TData>(queryOptionActivityFindAll(openApiModuleApi, filter, options));
      }
    • Works for both regular and infinite query hooks.
    • Naming convention: queryOption{ControllerNameSimplified}{MethodName}