import type { LocationQueryValue } from 'vue-router'; import type { Id } from '~/shared/types/common'; export function queryToString(item?: null | LocationQueryValue | LocationQueryValue[]) { if (item === null) return ""; if (item instanceof Array) return queryToString(item[0]) return item; } export function queryToNumber(item?: null | LocationQueryValue | LocationQueryValue[]) { if (item === null || item === undefined) return undefined; if (item instanceof Array) return queryToNumber(item[0]) return Number.parseInt(item, 10); } export function idMap(entities: T[]) { return new Map(entities.map(entity => [entity.id, entity])); }