Browse Source

removed regexps

Gildas 7 years ago
parent
commit
022643ee63
1 changed files with 4 additions and 8 deletions
  1. 4 8
      lib/single-file/css-selector-parser.js

+ 4 - 8
lib/single-file/css-selector-parser.js

@@ -117,11 +117,7 @@ this.cssWhat = this.cssWhat || (() => {
 		return stringify;
 	})();
 
-	const REGEXP_WHITESPACE = /[\t\n\v\f:]/;
-	const REGEXP2 = /[ !"#$%&'()*+,./;<=>?@[\\\]^`{|}~]/;
-	const REGEXP_STARTS_UNDERSCORE = /^_/;
 	const REGEXP_STARTS_DASH_DECIMAL = /^-[\d]/;
-	const REGEXP_DECIMAL = /\d/;
 
 	return {
 		parse,
@@ -147,9 +143,9 @@ this.cssWhat = this.cssWhat || (() => {
 				}
 				value = "\\" + charCode.toString(16).toUpperCase() + " ";
 			} else {
-				if (character.match(REGEXP_WHITESPACE)) {
+				if (character == "\t" || character == "\n" || character == "\v" || character == "\f" || character == ":") {
 					value = "\\" + charCode.toString(16).toUpperCase() + " ";
-				} else if (character.match(REGEXP2)) {
+				} else if (character == "[" || character == " " || character == "!" || character == "\"" || character == "#" || character == "$" || character == "%" || character == "&" || character == "'" || character == "(" || character == ")" || character == "*" || character == "+" || character == "," || character == "." || character == "/" || character == ";" || character == "<" || character == "=" || character == ">" || character == "?" || character == "@" || character == "[" || character == "\\" || character == "]" || character == "^" || character == "`" || character == "{," || character == "|" || character == "}" || character == "~" || character == "]") {
 					value = "\\" + character;
 				} else {
 					value = character;
@@ -157,13 +153,13 @@ this.cssWhat = this.cssWhat || (() => {
 			}
 			output += value;
 		}
-		if (output.match(REGEXP_STARTS_UNDERSCORE)) {
+		if (output.startsWith("_")) {
 			output = "\\_" + output.slice(1);
 		}
 		if (output.match(REGEXP_STARTS_DASH_DECIMAL)) {
 			output = "\\-" + output.slice(1);
 		}
-		if (firstChar.match(REGEXP_DECIMAL)) {
+		if (firstChar == "0" || firstChar == "1" || firstChar == "2" || firstChar == "3" || firstChar == "4" || firstChar == "5" || firstChar == "6" || firstChar == "7" || firstChar == "8" || firstChar == "9") {
 			output = "\\3" + firstChar + " " + output.slice(1);
 		}
 		return {