From 76dcdac3bd496a751312f5335cf3bbd78e9adcf6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 20:50:23 +0200 Subject: Adding upstream version 7.5.1+dfsg. Signed-off-by: Daniel Baumann --- src/scripts/common.js | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/scripts/common.js (limited to 'src/scripts/common.js') diff --git a/src/scripts/common.js b/src/scripts/common.js new file mode 100644 index 0000000..bd516c8 --- /dev/null +++ b/src/scripts/common.js @@ -0,0 +1,63 @@ +'use strict'; + +// ----------------- Pattern Check ------------------ + +function checkPattern(pattern, type) { + + const pat = pattern.value; + + if (!pat) { + pattern.classList.add('invalid'); + pattern.focus(); + showResult(chrome.i18n.getMessage('errorEmpty'), true); + return; + } + + const patternTypeSet = { + '1': 'wildcard', + '2': 'regex' + } + + let regex; + + switch (patternTypeSet[type.value]) { + + // RegEx + case 'regex': + try { regex = new RegExp(pat); } + catch (e) { + pattern.classList.add('invalid'); + showResult(e.message, true); + return false; + } + break; + + // wildcard + default: + if (pat.includes('/')) { + pattern.classList.add('invalid'); + showResult(chrome.i18n.getMessage('errorSlash'), true); + return false; + } + + try { regex = new RegExp(Utils.wildcardToRegExp(pat)); } + catch (e) { + pattern.classList.add('invalid'); + showResult(e.message, true); + return false; + } + } + + // --- pattern is valid + return regex; +} + + + + +function showResult(text, fail) { + + fail && result.classList.add('alert'); + result.textContent = text; + result.classList.remove('hide'); +} \ No newline at end of file -- cgit v1.2.3