UNPKG

@renegade-fi/core

Version:
47 lines (40 loc) 1.43 kB
import type { QueryOptions } from '@tanstack/query-core' import { type GetOrderHistoryErrorType, type GetOrderHistoryParameters, type GetOrderHistoryReturnType, getOrderHistory, } from '../actions/getOrderHistory.js' import type { Config } from '../createConfig.js' import type { Evaluate } from '../types/utils.js' import { type ScopeKeyParameter, filterQueryOptions } from './utils.js' export type GetOrderHistoryOptions = Evaluate< GetOrderHistoryParameters & ScopeKeyParameter > export function getOrderHistoryQueryOptions( config: Config, options: GetOrderHistoryOptions = {}, ) { return { async queryFn({ queryKey }) { const { scopeKey: _, ...parameters } = queryKey[1] const history = await getOrderHistory(config, parameters) return history ?? null }, queryKey: getOrderHistoryQueryKey({ scopeKey: config.state.id, ...options, }), } as const satisfies QueryOptions< GetOrderHistoryQueryFnData, GetOrderHistoryErrorType, GetOrderHistoryData, GetOrderHistoryQueryKey > } export type GetOrderHistoryQueryFnData = Evaluate<GetOrderHistoryReturnType> export type GetOrderHistoryData = GetOrderHistoryQueryFnData export function getOrderHistoryQueryKey(options: GetOrderHistoryOptions = {}) { return ['order-history', filterQueryOptions(options)] as const } export type GetOrderHistoryQueryKey = ReturnType<typeof getOrderHistoryQueryKey>