Skip to content

Commit 11e87ba

Browse files
Add option to ignore case when parsing words
1 parent 8f3a6f1 commit 11e87ba

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

demo/index.html

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,13 @@
6363
</select>
6464
</div>
6565

66+
<div class="checkbox">
67+
<label>
68+
<input type="checkbox" checked="checked" class="form-check-input js-case">
69+
Case-sensitive
70+
</label>
71+
</div>
72+
6673
<div class="checkbox">
6774
<label>
6875
<input type="checkbox" checked="checked" class="form-check-input js-trim">

src/demo.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const { Preserve, TrimLeadingAndTrailing } = WhitespaceHandling;
66

77
const $input = document.querySelector<HTMLTextAreaElement>('.js-words');
88
const $delimiter = document.querySelector<HTMLSelectElement>('.js-delimiter');
9+
const $caseSensitive = document.querySelector<HTMLInputElement>('.js-case');
910
const $trim = document.querySelector<HTMLInputElement>('.js-trim');
1011
const $output = document.querySelector<HTMLTextAreaElement>('.js-output');
1112

@@ -26,10 +27,15 @@ function displayPattern(pattern: string) {
2627
}
2728

2829
function onClickGenerate() {
29-
const words = $input.value;
30+
let words = $input.value;
3031
const delimiter = $delimiter.selectedOptions[0].value;
32+
const isCaseSensitive = $caseSensitive.checked;
3133
const isWhitespaceTrimmed = $trim.checked;
3234

35+
if (!isCaseSensitive) {
36+
words = words.toLowerCase();
37+
}
38+
3339
const whitespace = isWhitespaceTrimmed ? TrimLeadingAndTrailing : Preserve;
3440

3541
const pattern = generatePattern(words, delimiter, whitespace);

0 commit comments

Comments
 (0)