export type OperationType = | 'lessThan' | 'lessOrEqual' | 'equals' | 'greaterOrEqual' | 'notEquals' export type FilterType = { fields?: { [key: string]: { operation: OperationType value: string } } sort?: string } export const filterFormatter = (filter: FilterType) => { const filters = filter.fields && Object.entries(filter.fields).map( (value) => `filter[${value[0]}]=${value[1].operation}:${value[1].value}`, ) return filter.sort ? filters ? `${filters.join('&')}&sort=${filter.sort}` : `sort=${filter.sort}` : filters && filters.join('&') }