1234567891011121314151617181920212223242526272829303132 |
- import type {Location} from 'history';
- import {defined} from 'sentry/utils';
- import {decodeScalar} from 'sentry/utils/queryString';
- export enum Mode {
- SAMPLES = 'samples',
- AGGREGATE = 'aggregate',
- }
- export function defaultMode(): Mode {
- return Mode.SAMPLES;
- }
- export function getModeFromLocation(location: Location): Mode {
- const rawMode = decodeScalar(location.query.mode);
- if (rawMode === 'aggregate') {
- return Mode.AGGREGATE;
- }
- return defaultMode();
- }
- export function updateLocationWithMode(
- location: Location,
- mode: Mode | null | undefined
- ) {
- if (defined(mode)) {
- location.query.mode = mode;
- } else if (mode === null) {
- delete location.query.mode;
- }
- }
|