UNPKG

@elastic-suite/gally-admin-shared

Version:
33 lines (28 loc) 864 B
import { IGraphqlProduct, IProductPositions, IRequestTypesOptions, } from '../types' import { getIdFromIri } from './format' export function sortProductCollection( products: IGraphqlProduct[], positions: IProductPositions ): IGraphqlProduct[] { const sortedProducts = [...products] const positionsMap = Object.fromEntries( positions.map(({ position, productId }) => [productId, position]) ) return sortedProducts.sort( (a, b) => positionsMap[getIdFromIri(a.id)] - positionsMap[getIdFromIri(b.id)] ) } export function getLimitationType( requestType: string, options: IRequestTypesOptions[] ): string | undefined { return options.find((option) => requestType === option.id)?.limitationType } export function getStockStatusLabel(stockStatus: boolean): string { return stockStatus ? 'stock.inStock' : 'stock.outOfStock' }