UNPKG

@opengis/vite-page

Version:

Vite SSR Multi Page plugin

21 lines (16 loc) 824 B
import { filters } from './seo.js'; const matches = { order: 'sort' }; const values = Object.keys(filters || {}) .reduce((acc, curr) => Object.assign(acc, { [filters[curr]?.query || filters[curr]]: curr?.query || curr }), {}); export default function original2cleanUrl(url, route = {}) { if (!url) return null; const filterQuery = route.query.filter; const sufix = Object.keys(route.query || {}) .filter(key => ['search', 'page', 'order', 'limit'].includes(key)) .map(key => `${matches[key] || key}=${route.query[key]}`) .join(';'); const result = filterQuery?.split?.('|')?.reduce?.((acc, curr) => { return values[curr] ? `${acc}/${values[curr]}` : acc; }, route.path) || route.path; return sufix ? `${result}/${sufix}/` : `${result}/`; }