|
| 1 | +// This file is auto-generated by @hey-api/openapi-ts |
| 2 | + |
| 3 | +import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/preact-query'; |
| 4 | + |
| 5 | +import { client } from '../client.gen'; |
| 6 | +import { BarBazService, BarService, FooBazService, FooService, type Options } from '../sdk.gen'; |
| 7 | +import type { FooBarPostData, FooBarPostResponse, FooBarPutData, FooBarPutResponse, FooPostData, FooPostResponse, FooPutData, FooPutResponse, GetFooBarData, GetFooBarResponse, GetFooData, GetFooResponse } from '../types.gen'; |
| 8 | + |
| 9 | +export type QueryKey<TOptions extends Options> = [ |
| 10 | + Pick<TOptions, 'baseUrl' | 'body' | 'headers' | 'path' | 'query'> & { |
| 11 | + _id: string; |
| 12 | + _infinite?: boolean; |
| 13 | + tags?: ReadonlyArray<string>; |
| 14 | + } |
| 15 | +]; |
| 16 | + |
| 17 | +const createQueryKey = <TOptions extends Options>(id: string, options?: TOptions, infinite?: boolean, tags?: ReadonlyArray<string>): [ |
| 18 | + QueryKey<TOptions>[0] |
| 19 | +] => { |
| 20 | + const params: QueryKey<TOptions>[0] = { _id: id, baseUrl: options?.baseUrl || (options?.client ?? client).getConfig().baseUrl } as QueryKey<TOptions>[0]; |
| 21 | + if (infinite) { |
| 22 | + params._infinite = infinite; |
| 23 | + } |
| 24 | + if (tags) { |
| 25 | + params.tags = tags; |
| 26 | + } |
| 27 | + if (options?.body) { |
| 28 | + params.body = options.body; |
| 29 | + } |
| 30 | + if (options?.headers) { |
| 31 | + params.headers = options.headers; |
| 32 | + } |
| 33 | + if (options?.path) { |
| 34 | + params.path = options.path; |
| 35 | + } |
| 36 | + if (options?.query) { |
| 37 | + params.query = options.query; |
| 38 | + } |
| 39 | + return [params]; |
| 40 | +}; |
| 41 | + |
| 42 | +export const getFooQueryKey = (options?: Options<GetFooData>) => createQueryKey('getFoo', options); |
| 43 | + |
| 44 | +export const getFooOptions = (options?: Options<GetFooData>) => queryOptions<GetFooResponse, DefaultError, GetFooResponse, ReturnType<typeof getFooQueryKey>>({ |
| 45 | + queryFn: async ({ queryKey, signal }) => { |
| 46 | + const { data } = await FooBazService.getFoo({ |
| 47 | + ...options, |
| 48 | + ...queryKey[0], |
| 49 | + signal, |
| 50 | + throwOnError: true |
| 51 | + }); |
| 52 | + return data; |
| 53 | + }, |
| 54 | + queryKey: getFooQueryKey(options) |
| 55 | +}); |
| 56 | + |
| 57 | +export const fooPostMutation = (options?: Partial<Options<FooPostData>>): UseMutationOptions<FooPostResponse, DefaultError, Options<FooPostData>> => { |
| 58 | + const mutationOptions: UseMutationOptions<FooPostResponse, DefaultError, Options<FooPostData>> = { |
| 59 | + mutationFn: async (fnOptions) => { |
| 60 | + const { data } = await FooService.post({ |
| 61 | + ...options, |
| 62 | + ...fnOptions, |
| 63 | + throwOnError: true |
| 64 | + }); |
| 65 | + return data; |
| 66 | + } |
| 67 | + }; |
| 68 | + return mutationOptions; |
| 69 | +}; |
| 70 | + |
| 71 | +export const fooPutMutation = (options?: Partial<Options<FooPutData>>): UseMutationOptions<FooPutResponse, DefaultError, Options<FooPutData>> => { |
| 72 | + const mutationOptions: UseMutationOptions<FooPutResponse, DefaultError, Options<FooPutData>> = { |
| 73 | + mutationFn: async (fnOptions) => { |
| 74 | + const { data } = await FooService.put({ |
| 75 | + ...options, |
| 76 | + ...fnOptions, |
| 77 | + throwOnError: true |
| 78 | + }); |
| 79 | + return data; |
| 80 | + } |
| 81 | + }; |
| 82 | + return mutationOptions; |
| 83 | +}; |
| 84 | + |
| 85 | +export const getFooBarQueryKey = (options?: Options<GetFooBarData>) => createQueryKey('getFooBar', options); |
| 86 | + |
| 87 | +export const getFooBarOptions = (options?: Options<GetFooBarData>) => queryOptions<GetFooBarResponse, DefaultError, GetFooBarResponse, ReturnType<typeof getFooBarQueryKey>>({ |
| 88 | + queryFn: async ({ queryKey, signal }) => { |
| 89 | + const { data } = await BarBazService.getFooBar({ |
| 90 | + ...options, |
| 91 | + ...queryKey[0], |
| 92 | + signal, |
| 93 | + throwOnError: true |
| 94 | + }); |
| 95 | + return data; |
| 96 | + }, |
| 97 | + queryKey: getFooBarQueryKey(options) |
| 98 | +}); |
| 99 | + |
| 100 | +export const fooBarPostMutation = (options?: Partial<Options<FooBarPostData>>): UseMutationOptions<FooBarPostResponse, DefaultError, Options<FooBarPostData>> => { |
| 101 | + const mutationOptions: UseMutationOptions<FooBarPostResponse, DefaultError, Options<FooBarPostData>> = { |
| 102 | + mutationFn: async (fnOptions) => { |
| 103 | + const { data } = await BarService.post({ |
| 104 | + ...options, |
| 105 | + ...fnOptions, |
| 106 | + throwOnError: true |
| 107 | + }); |
| 108 | + return data; |
| 109 | + } |
| 110 | + }; |
| 111 | + return mutationOptions; |
| 112 | +}; |
| 113 | + |
| 114 | +export const fooBarPutMutation = (options?: Partial<Options<FooBarPutData>>): UseMutationOptions<FooBarPutResponse, DefaultError, Options<FooBarPutData>> => { |
| 115 | + const mutationOptions: UseMutationOptions<FooBarPutResponse, DefaultError, Options<FooBarPutData>> = { |
| 116 | + mutationFn: async (fnOptions) => { |
| 117 | + const { data } = await BarService.put({ |
| 118 | + ...options, |
| 119 | + ...fnOptions, |
| 120 | + throwOnError: true |
| 121 | + }); |
| 122 | + return data; |
| 123 | + } |
| 124 | + }; |
| 125 | + return mutationOptions; |
| 126 | +}; |
0 commit comments