From bcfb38d5f9cb8b87d3b8c0bfed94c47ef5da9798 Mon Sep 17 00:00:00 2001 From: Marco Carvalho Date: Fri, 20 Oct 2023 08:50:42 -0300 Subject: [PATCH] Refactor length function to utilize a pre-compiled RegExp (#12251) * Refactor length function to utilize a pre-compiled RegExp * Update dataTypes.js --- src/util/dataTypes.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/util/dataTypes.js b/src/util/dataTypes.js index 6f66849d0..2dbe2cff1 100644 --- a/src/util/dataTypes.js +++ b/src/util/dataTypes.js @@ -173,12 +173,9 @@ let lengthUnits = [ 'cqmax', ] let lengthUnitsPattern = `(?:${lengthUnits.join('|')})` +let lengthRegExp = new RegExp(`^[+-]?[0-9]*\.?[0-9]+(?:[eE][+-]?[0-9]+)?${lengthUnitsPattern}$`) export function length(value) { - return ( - value === '0' || - new RegExp(`^[+-]?[0-9]*\.?[0-9]+(?:[eE][+-]?[0-9]+)?${lengthUnitsPattern}$`).test(value) || - isCSSFunction(value) - ) + return value === '0' || lengthRegExp.test(value) || isCSSFunction(value) } let lineWidths = new Set(['thin', 'medium', 'thick'])