Skip to content

Commit 526bbae

Browse files
Add getElement() helper
Wrap document.querySelector() calls in a helper method.
1 parent e80ba70 commit 526bbae

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

demo/src/demo.ts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,17 @@ import { parseString, WhitespaceHandling } from './utils/wordList';
44

55
const { Preserve, TrimLeadingAndTrailing } = WhitespaceHandling;
66

7-
const $form = document.querySelector<HTMLFormElement>('.js-form');
8-
const $input = document.querySelector<HTMLTextAreaElement>('.js-words');
9-
const $delimiter = document.querySelector<HTMLSelectElement>('.js-delimiter');
10-
const $caseSensitive = document.querySelector<HTMLInputElement>('.js-case');
11-
const $trim = document.querySelector<HTMLInputElement>('.js-trim');
12-
const $output = document.querySelector<HTMLTextAreaElement>('.js-output');
13-
const $submit = document.querySelector<HTMLButtonElement>('.js-generate');
7+
function getElement<T extends Element>(selector: string): T {
8+
return document.querySelector(selector) as T;
9+
}
10+
11+
const $form = getElement<HTMLFormElement>('.js-form');
12+
const $input = getElement<HTMLTextAreaElement>('.js-words');
13+
const $delimiter = getElement<HTMLSelectElement>('.js-delimiter');
14+
const $caseSensitive = getElement<HTMLInputElement>('.js-case');
15+
const $trim = getElement<HTMLInputElement>('.js-trim');
16+
const $output = getElement<HTMLTextAreaElement>('.js-output');
17+
const $submit = getElement<HTMLButtonElement>('.js-generate');
1418

1519
function generatePattern(words: string): RegExp {
1620
const delimiter = $delimiter.options[$delimiter.selectedIndex].value;

0 commit comments

Comments
 (0)