• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

code4recovery / tsml-ui / 18451009991

12 Oct 2025 11:29PM UTC coverage: 43.532% (-19.9%) from 63.458%
18451009991

Pull #475

github

web-flow
Merge 9d0374e51 into 0a0ddf96f
Pull Request #475: pretty permalinks

369 of 1009 branches covered (36.57%)

Branch coverage included in aggregate %.

15 of 37 new or added lines in 5 files covered. (40.54%)

236 existing lines in 17 files now uncovered.

553 of 1109 relevant lines covered (49.86%)

4.31 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

7.89
/src/helpers/validate-input.ts
1
import { defaults } from '../hooks/settings';
2
import { formatSearch } from './format-search';
3

4
export const validateInput = (
9✔
5
  params: URLSearchParams
6
): TSMLReactConfig['defaults'] => {
UNCOV
7
  const { defaults: defaultInput } = defaults;
×
8

UNCOV
9
  const modeParam = params.get('mode');
×
UNCOV
10
  const mode = isMode(modeParam) ? modeParam : defaultInput.mode;
×
11

UNCOV
12
  const viewParam = params.get('view');
×
UNCOV
13
  const view = isView(viewParam) ? viewParam : defaultInput.view;
×
14

UNCOV
15
  const search = formatSearch(
×
16
    params.get('search')?.toString() ?? defaultInput.search
×
17
  );
18

UNCOV
19
  const region = params.has('region')
×
20
    ? `${params.get('region')}`.split('/')
21
    : defaultInput.region;
22

UNCOV
23
  const time = params.has('time')
×
24
    ? (`${params.get('time')}`.split('/') as Array<
25
        'morning' | 'midday' | 'evening' | 'night' | 'appointment'
26
      >)
27
    : defaultInput.time;
28

UNCOV
29
  const weekday = params.has('weekday')
×
30
    ? `${params.get('weekday')}`.split('/')
31
    : defaultInput.weekday;
32

UNCOV
33
  const type = params.has('type')
×
34
    ? `${params.get('type')}`.split('/')
35
    : defaultInput.type;
36

UNCOV
37
  const meeting = params.get('meeting') ?? defaultInput.meeting;
×
38

UNCOV
39
  const distance = params.has('distance')
×
40
    ? parseInt(params.get('distance') ?? '')
×
41
    : defaultInput.distance;
42

UNCOV
43
  return {
×
44
    distance,
45
    meeting,
46
    mode,
47
    region,
48
    search,
49
    time,
50
    type,
51
    view,
52
    weekday,
53
  };
54
};
55

56
const isMode = (mode: string | null): mode is Mode =>
9✔
UNCOV
57
  defaults.modes.includes(mode as Mode);
×
58

59
const isView = (view: string | null): view is View =>
9✔
UNCOV
60
  defaults.views.includes(view as View);
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc