Просмотр исходного кода

moved flatten into single-file-helper

Former-commit-id: f39f9cb89d2fddbabd9190fdc3dc74dcef26967f
Gildas 5 лет назад
Родитель
Сommit
90cc26b024

+ 1 - 5
lib/single-file/modules/css-fonts-minifier.js

@@ -77,7 +77,7 @@ this.singlefile.lib.modules.fontsMinifier = this.singlefile.lib.modules.fontsMin
 					}
 					return familyName;
 				}));
-				fontsInfo.used = fontsInfo.used.map(fontNames => flatten(fontNames));
+				fontsInfo.used = fontsInfo.used.map(fontNames => singlefile.lib.helper.flatten(fontNames));
 			}
 			const variableFound = fontsInfo.used.find(fontNames => fontNames.find(fontName => fontName.startsWith("var(--")));
 			let unusedFonts, filteredUsedFonts;
@@ -355,8 +355,4 @@ this.singlefile.lib.modules.fontsMinifier = this.singlefile.lib.modules.fontsMin
 		return FONT_WEIGHTS[weight.toLowerCase()] || weight;
 	}
 
-	function flatten(array) {
-		return array.reduce((a, b) => a.concat(Array.isArray(b) ? flatten(b) : b), []);
-	}
-
 })();

+ 1 - 5
lib/single-file/modules/css-medias-alt-minifier.js

@@ -59,12 +59,8 @@ this.singlefile.lib.modules.mediasAltMinifier = this.singlefile.lib.modules.medi
 		return removedRules;
 	}
 
-	function flatten(array) {
-		return array.reduce((a, b) => a.concat(Array.isArray(b) ? flatten(b) : b), []);
-	}
-
 	function matchesMediaType(mediaText, mediaType) {
-		const foundMediaTypes = flatten(singlefile.lib.vendor.mediaQueryParser.parseMediaList(mediaText).map(node => getMediaTypes(node, mediaType)));
+		const foundMediaTypes = singlefile.lib.helper.flatten(singlefile.lib.vendor.mediaQueryParser.parseMediaList(mediaText).map(node => getMediaTypes(node, mediaType)));
 		return foundMediaTypes.find(mediaTypeInfo => (!mediaTypeInfo.not && (mediaTypeInfo.value == mediaType || mediaTypeInfo.value == MEDIA_ALL))
 			|| (mediaTypeInfo.not && (mediaTypeInfo.value == MEDIA_ALL || mediaTypeInfo.value != mediaType)));
 	}

+ 5 - 0
lib/single-file/single-file-helper.js

@@ -68,6 +68,7 @@ this.singlefile.lib.helper = this.singlefile.lib.helper || (() => {
 		postProcessDoc,
 		serialize,
 		removeQuotes,
+		flatten,
 		ON_BEFORE_CAPTURE_EVENT_NAME,
 		ON_AFTER_CAPTURE_EVENT_NAME,
 		WIN_ID_ATTRIBUTE_NAME,
@@ -462,4 +463,8 @@ this.singlefile.lib.helper = this.singlefile.lib.helper || (() => {
 		return FONT_WEIGHTS[weight] || weight;
 	}
 
+	function flatten(array) {
+		return array.flat ? array.flat() : array.reduce((a, b) => a.concat(Array.isArray(b) ? flatten(b) : b), []);
+	}
+
 })();