Files
umami/src/lib/share.ts
T

21 lines
691 B
TypeScript

import { FILTER_COLUMNS } from './constants';
import type { ShareParameters, ShareTheme } from './types';
const FILTER_QUERY_PARAMS = new Set(['cohort', 'excludeBounce', 'match', 'segment']);
export function allowShareFilter(parameters?: ShareParameters | null) {
return parameters?.allowFilter !== false;
}
export function getShareTheme(parameters?: ShareParameters | null): ShareTheme | undefined {
return parameters?.theme === 'light' || parameters?.theme === 'dark'
? parameters.theme
: undefined;
}
export function excludeShareFilterParam(key: string) {
const baseName = key.replace(/\d+$/, '');
return baseName in FILTER_COLUMNS || FILTER_QUERY_PARAMS.has(key);
}