import type ApiInterface from '../types/api-interface' interface ArkUiOptions { // TODO: filter-bar-stories api имеет другой тип // api?: ApiInterface, api?: any paginationType?: string orderingKey?: string sortFieldKey?: string requestPageKey?: string responseItemsKey?: string responseTotalKey?: string requestPerPageKey?: string usePrevNextFlags?: boolean prevPageFlagKey?: string nextPageFlagKey?: string } export const ArkUiConstants: Required> & { api?: ApiInterface } = { paginationType: 'page', requestPageKey: 'page', orderingKey: 'ordering', sortFieldKey: 'sortField', responseItemsKey: 'items', responseTotalKey: 'total', requestPerPageKey: 'per_page', usePrevNextFlags: false, prevPageFlagKey: 'hasPrevPage', nextPageFlagKey: 'hasNextPage', } export function useArkUi(options: ArkUiOptions) { Object.entries(options).forEach(([key, value]) => { const typedKey = key as keyof ArkUiOptions // @ts-expect-error usePrevNextFlags?: boolean все ломает ArkUiConstants[typedKey] = value }) }