// This file is auto-generated by @hey-api/openapi-ts import { type DefaultError, type InfiniteData, infiniteQueryOptions, queryOptions, } from "@tanstack/react-query"; import { client as _heyApiClient } from "../client.gen"; import { type Options, buildInformation, gateways, gatewaysSkinny, getAllSessions, getEntryGatewayCountries, getEntryGateways, getEntryGatewaysByCountry, getExitGatewayCountries, getExitGateways, getExitGatewaysByCountry, getGateway, getGatewayCountries, getGateways, getGatewaysByCountry, getMixnodes, getStats, health, mixnodes, mixnodes2, nodeDelegations, nymNodes, summary, summaryHistory, } from "../sdk.gen"; import type { BuildInformationData, GatewaysData, GatewaysResponse, GatewaysSkinnyData, GatewaysSkinnyResponse, GetAllSessionsData, GetAllSessionsResponse, GetEntryGatewayCountriesData, GetEntryGatewaysByCountryData, GetEntryGatewaysData, GetExitGatewayCountriesData, GetExitGatewaysByCountryData, GetExitGatewaysData, GetGatewayCountriesData, GetGatewayData, GetGatewaysByCountryData, GetGatewaysData, GetMixnodesData, GetStatsData, GetStatsResponse, HealthData, Mixnodes2Data, Mixnodes2Response, MixnodesData, MixnodesResponse, NodeDelegationsData, NymNodesData, NymNodesResponse, SummaryData, SummaryHistoryData, } from "../types.gen"; export type QueryKey = [ Pick & { _id: string; _infinite?: boolean; }, ]; const createQueryKey = ( id: string, options?: TOptions, infinite?: boolean, ): [QueryKey[0]] => { const params: QueryKey[0] = { _id: id, baseUrl: (options?.client ?? _heyApiClient).getConfig().baseUrl, } as QueryKey[0]; if (infinite) { params._infinite = infinite; } if (options?.body) { params.body = options.body; } if (options?.headers) { params.headers = options.headers; } if (options?.path) { params.path = options.path; } if (options?.query) { params.query = options.query; } return [params]; }; export const getGatewaysQueryKey = (options?: Options) => createQueryKey("getGateways", options); /** * Gets available entry and exit gateways from the Nym network directory */ export const getGatewaysOptions = (options?: Options) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await getGateways({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: getGatewaysQueryKey(options), }); }; export const getGatewayCountriesQueryKey = ( options?: Options, ) => createQueryKey("getGatewayCountries", options); /** * Gets available exit gateway countries as two-letter ISO country codes from the Nym network directory */ export const getGatewayCountriesOptions = ( options?: Options, ) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await getGatewayCountries({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: getGatewayCountriesQueryKey(options), }); }; export const getGatewaysByCountryQueryKey = ( options: Options, ) => createQueryKey("getGatewaysByCountry", options); /** * Gets available gateways from the Nym network directory by country */ export const getGatewaysByCountryOptions = ( options: Options, ) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await getGatewaysByCountry({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: getGatewaysByCountryQueryKey(options), }); }; export const getEntryGatewaysQueryKey = ( options?: Options, ) => createQueryKey("getEntryGateways", options); /** * Gets available entry gateways from the Nym network directory */ export const getEntryGatewaysOptions = ( options?: Options, ) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await getEntryGateways({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: getEntryGatewaysQueryKey(options), }); }; export const getEntryGatewayCountriesQueryKey = ( options?: Options, ) => createQueryKey("getEntryGatewayCountries", options); /** * Gets available entry gateway countries as two-letter ISO country codes from the Nym network directory */ export const getEntryGatewayCountriesOptions = ( options?: Options, ) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await getEntryGatewayCountries({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: getEntryGatewayCountriesQueryKey(options), }); }; export const getEntryGatewaysByCountryQueryKey = ( options: Options, ) => createQueryKey("getEntryGatewaysByCountry", options); /** * Gets available entry gateways from the Nym network directory by country */ export const getEntryGatewaysByCountryOptions = ( options: Options, ) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await getEntryGatewaysByCountry({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: getEntryGatewaysByCountryQueryKey(options), }); }; export const getExitGatewaysQueryKey = ( options?: Options, ) => createQueryKey("getExitGateways", options); /** * Gets available exit gateways from the Nym network directory */ export const getExitGatewaysOptions = ( options?: Options, ) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await getExitGateways({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: getExitGatewaysQueryKey(options), }); }; export const getExitGatewayCountriesQueryKey = ( options?: Options, ) => createQueryKey("getExitGatewayCountries", options); /** * Gets available exit gateway countries as two-letter ISO country codes from the Nym network directory */ export const getExitGatewayCountriesOptions = ( options?: Options, ) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await getExitGatewayCountries({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: getExitGatewayCountriesQueryKey(options), }); }; export const getExitGatewaysByCountryQueryKey = ( options: Options, ) => createQueryKey("getExitGatewaysByCountry", options); /** * Gets available exit gateways from the Nym network directory by country */ export const getExitGatewaysByCountryOptions = ( options: Options, ) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await getExitGatewaysByCountry({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: getExitGatewaysByCountryQueryKey(options), }); }; export const nymNodesQueryKey = (options?: Options) => createQueryKey("nymNodes", options); export const nymNodesOptions = (options?: Options) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await nymNodes({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: nymNodesQueryKey(options), }); }; const createInfiniteParams = < K extends Pick[0], "body" | "headers" | "path" | "query">, >( queryKey: QueryKey, page: K, ) => { const params = { ...queryKey[0], }; if (page.body) { params.body = { ...(queryKey[0].body as any), ...(page.body as any), }; } if (page.headers) { params.headers = { ...queryKey[0].headers, ...page.headers, }; } if (page.path) { params.path = { ...(queryKey[0].path as any), ...(page.path as any), }; } if (page.query) { params.query = { ...(queryKey[0].query as any), ...(page.query as any), }; } return params as unknown as typeof page; }; export const nymNodesInfiniteQueryKey = ( options?: Options, ): QueryKey> => createQueryKey("nymNodes", options, true); export const nymNodesInfiniteOptions = (options?: Options) => { return infiniteQueryOptions< NymNodesResponse, DefaultError, InfiniteData, QueryKey>, | number | Pick< QueryKey>[0], "body" | "headers" | "path" | "query" > >( // @ts-ignore { queryFn: async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick< QueryKey>[0], "body" | "headers" | "path" | "query" > = typeof pageParam === "object" ? pageParam : { query: { page: pageParam, }, }; const params = createInfiniteParams(queryKey, page); const { data } = await nymNodes({ ...options, ...params, signal, throwOnError: true, }); return data; }, queryKey: nymNodesInfiniteQueryKey(options), }, ); }; export const nodeDelegationsQueryKey = ( options: Options, ) => createQueryKey("nodeDelegations", options); export const nodeDelegationsOptions = ( options: Options, ) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await nodeDelegations({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: nodeDelegationsQueryKey(options), }); }; export const gatewaysQueryKey = (options?: Options) => createQueryKey("gateways", options); export const gatewaysOptions = (options?: Options) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await gateways({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: gatewaysQueryKey(options), }); }; export const gatewaysInfiniteQueryKey = ( options?: Options, ): QueryKey> => createQueryKey("gateways", options, true); export const gatewaysInfiniteOptions = (options?: Options) => { return infiniteQueryOptions< GatewaysResponse, DefaultError, InfiniteData, QueryKey>, | number | Pick< QueryKey>[0], "body" | "headers" | "path" | "query" > >( // @ts-ignore { queryFn: async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick< QueryKey>[0], "body" | "headers" | "path" | "query" > = typeof pageParam === "object" ? pageParam : { query: { page: pageParam, }, }; const params = createInfiniteParams(queryKey, page); const { data } = await gateways({ ...options, ...params, signal, throwOnError: true, }); return data; }, queryKey: gatewaysInfiniteQueryKey(options), }, ); }; export const gatewaysSkinnyQueryKey = (options?: Options) => createQueryKey("gatewaysSkinny", options); export const gatewaysSkinnyOptions = ( options?: Options, ) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await gatewaysSkinny({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: gatewaysSkinnyQueryKey(options), }); }; export const gatewaysSkinnyInfiniteQueryKey = ( options?: Options, ): QueryKey> => createQueryKey("gatewaysSkinny", options, true); export const gatewaysSkinnyInfiniteOptions = ( options?: Options, ) => { return infiniteQueryOptions< GatewaysSkinnyResponse, DefaultError, InfiniteData, QueryKey>, | number | Pick< QueryKey>[0], "body" | "headers" | "path" | "query" > >( // @ts-ignore { queryFn: async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick< QueryKey>[0], "body" | "headers" | "path" | "query" > = typeof pageParam === "object" ? pageParam : { query: { page: pageParam, }, }; const params = createInfiniteParams(queryKey, page); const { data } = await gatewaysSkinny({ ...options, ...params, signal, throwOnError: true, }); return data; }, queryKey: gatewaysSkinnyInfiniteQueryKey(options), }, ); }; export const getGatewayQueryKey = (options: Options) => createQueryKey("getGateway", options); export const getGatewayOptions = (options: Options) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await getGateway({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: getGatewayQueryKey(options), }); }; export const getAllSessionsQueryKey = (options?: Options) => createQueryKey("getAllSessions", options); export const getAllSessionsOptions = ( options?: Options, ) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await getAllSessions({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: getAllSessionsQueryKey(options), }); }; export const getAllSessionsInfiniteQueryKey = ( options?: Options, ): QueryKey> => createQueryKey("getAllSessions", options, true); export const getAllSessionsInfiniteOptions = ( options?: Options, ) => { return infiniteQueryOptions< GetAllSessionsResponse, DefaultError, InfiniteData, QueryKey>, | number | Pick< QueryKey>[0], "body" | "headers" | "path" | "query" > >( // @ts-ignore { queryFn: async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick< QueryKey>[0], "body" | "headers" | "path" | "query" > = typeof pageParam === "object" ? pageParam : { query: { page: pageParam, }, }; const params = createInfiniteParams(queryKey, page); const { data } = await getAllSessions({ ...options, ...params, signal, throwOnError: true, }); return data; }, queryKey: getAllSessionsInfiniteQueryKey(options), }, ); }; export const mixnodesQueryKey = (options?: Options) => createQueryKey("mixnodes", options); export const mixnodesOptions = (options?: Options) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await mixnodes({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: mixnodesQueryKey(options), }); }; export const mixnodesInfiniteQueryKey = ( options?: Options, ): QueryKey> => createQueryKey("mixnodes", options, true); export const mixnodesInfiniteOptions = (options?: Options) => { return infiniteQueryOptions< MixnodesResponse, DefaultError, InfiniteData, QueryKey>, | number | Pick< QueryKey>[0], "body" | "headers" | "path" | "query" > >( // @ts-ignore { queryFn: async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick< QueryKey>[0], "body" | "headers" | "path" | "query" > = typeof pageParam === "object" ? pageParam : { query: { page: pageParam, }, }; const params = createInfiniteParams(queryKey, page); const { data } = await mixnodes({ ...options, ...params, signal, throwOnError: true, }); return data; }, queryKey: mixnodesInfiniteQueryKey(options), }, ); }; export const getStatsQueryKey = (options?: Options) => createQueryKey("getStats", options); export const getStatsOptions = (options?: Options) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await getStats({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: getStatsQueryKey(options), }); }; export const getStatsInfiniteQueryKey = ( options?: Options, ): QueryKey> => createQueryKey("getStats", options, true); export const getStatsInfiniteOptions = (options?: Options) => { return infiniteQueryOptions< GetStatsResponse, DefaultError, InfiniteData, QueryKey>, | number | Pick< QueryKey>[0], "body" | "headers" | "path" | "query" > >( // @ts-ignore { queryFn: async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick< QueryKey>[0], "body" | "headers" | "path" | "query" > = typeof pageParam === "object" ? pageParam : { query: { offset: pageParam, }, }; const params = createInfiniteParams(queryKey, page); const { data } = await getStats({ ...options, ...params, signal, throwOnError: true, }); return data; }, queryKey: getStatsInfiniteQueryKey(options), }, ); }; export const getMixnodesQueryKey = (options: Options) => createQueryKey("getMixnodes", options); export const getMixnodesOptions = (options: Options) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await getMixnodes({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: getMixnodesQueryKey(options), }); }; export const mixnodes2QueryKey = (options?: Options) => createQueryKey("mixnodes2", options); export const mixnodes2Options = (options?: Options) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await mixnodes2({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: mixnodes2QueryKey(options), }); }; export const mixnodes2InfiniteQueryKey = ( options?: Options, ): QueryKey> => createQueryKey("mixnodes2", options, true); export const mixnodes2InfiniteOptions = (options?: Options) => { return infiniteQueryOptions< Mixnodes2Response, DefaultError, InfiniteData, QueryKey>, | number | Pick< QueryKey>[0], "body" | "headers" | "path" | "query" > >( // @ts-ignore { queryFn: async ({ pageParam, queryKey, signal }) => { // @ts-ignore const page: Pick< QueryKey>[0], "body" | "headers" | "path" | "query" > = typeof pageParam === "object" ? pageParam : { query: { page: pageParam, }, }; const params = createInfiniteParams(queryKey, page); const { data } = await mixnodes2({ ...options, ...params, signal, throwOnError: true, }); return data; }, queryKey: mixnodes2InfiniteQueryKey(options), }, ); }; export const buildInformationQueryKey = ( options?: Options, ) => createQueryKey("buildInformation", options); export const buildInformationOptions = ( options?: Options, ) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await buildInformation({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: buildInformationQueryKey(options), }); }; export const healthQueryKey = (options?: Options) => createQueryKey("health", options); export const healthOptions = (options?: Options) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await health({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: healthQueryKey(options), }); }; export const summaryQueryKey = (options?: Options) => createQueryKey("summary", options); export const summaryOptions = (options?: Options) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await summary({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: summaryQueryKey(options), }); }; export const summaryHistoryQueryKey = (options?: Options) => createQueryKey("summaryHistory", options); export const summaryHistoryOptions = ( options?: Options, ) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { const { data } = await summaryHistory({ ...options, ...queryKey[0], signal, throwOnError: true, }); return data; }, queryKey: summaryHistoryQueryKey(options), }); };