From 92393862156fad190c05ec3f6e2bc73308dcd2f9 Mon Sep 17 00:00:00 2001 From: imbrn Date: Thu, 30 Jun 2022 23:06:27 -0300 Subject: [PATCH] fix inefficient regular expressions on lowercase and uppercase rules --- src/v8n.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/v8n.js b/src/v8n.js index 7072acc..1af2539 100644 --- a/src/v8n.js +++ b/src/v8n.js @@ -189,9 +189,15 @@ const availableRules = { pattern: expected => value => expected.test(value), - lowercase: () => value => /^([a-z]+\s*)+$/.test(value), + lowercase: () => value => { + return ( + typeof value === 'boolean' || + (value === value.toLowerCase() && value.trim() !== '') + ); + }, - uppercase: () => value => /^([A-Z]+\s*)+$/.test(value), + uppercase: () => value => + value === value.toUpperCase() && value.trim() !== '', vowel: () => value => /^[aeiou]+$/i.test(value),