From 5b32aa72372c478743fa44adcca4e78740a26a43 Mon Sep 17 00:00:00 2001 From: GeoSot Date: Sat, 6 Mar 2021 12:29:53 +0200 Subject: [PATCH 1/3] initial --- lib/parse-variable.js | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/lib/parse-variable.js b/lib/parse-variable.js index 0173b80..a0e4d04 100644 --- a/lib/parse-variable.js +++ b/lib/parse-variable.js @@ -4,14 +4,13 @@ const { parse: scssParse } = require('postcss-scss'); const Declaration = require('postcss/lib/declaration'); const Comment = require('postcss/lib/comment'); let fusvEnabled = true; +let variables = []; -function parseNodes(nodes, variables, ignoreList) { - for (const node of nodes) { - findVars(node, variables, ignoreList); - } -} +const parseNodes = (nodes, ignoreList) => { + nodes.forEach(node => findVars(node, ignoreList)); +}; -function findVars(node, result, ignoreList) { +const findVars = (node, ignoreList) => { if (node instanceof Comment) { parseComment(node); @@ -19,30 +18,29 @@ function findVars(node, result, ignoreList) { } if (node instanceof Declaration && node.prop.startsWith('$') && !ignoreList.includes(node.prop) && fusvEnabled) { - result.push(node.prop); + variables.push(node.prop); return; } if (node.nodes) { - parseNodes(node.nodes, result, ignoreList); + parseNodes(node.nodes, ignoreList); } -} +}; -function parseComment(node) { +const parseComment = node => { if (node.raws.text === 'fusv-enable') { fusvEnabled = true; } else if (node.raws.text === 'fusv-disable') { fusvEnabled = false; } -} +}; -function parse(scssString, ignoreList) { +const parse = (scssString, ignoreList) => { const parsedScss = scssParse(scssString); - const variables = []; - - parseNodes(parsedScss.nodes, variables, ignoreList); + variables = []; + parseNodes(parsedScss.nodes, ignoreList); return variables; -} +}; module.exports = parse; From 4e3e451f59d0a025ecaa7a6e0b49bdaba559947c Mon Sep 17 00:00:00 2001 From: GeoSot Date: Sat, 6 Mar 2021 22:04:23 +0200 Subject: [PATCH 2/3] revert variables var --- lib/parse-variable.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/parse-variable.js b/lib/parse-variable.js index a0e4d04..0ebf77a 100644 --- a/lib/parse-variable.js +++ b/lib/parse-variable.js @@ -4,13 +4,12 @@ const { parse: scssParse } = require('postcss-scss'); const Declaration = require('postcss/lib/declaration'); const Comment = require('postcss/lib/comment'); let fusvEnabled = true; -let variables = []; -const parseNodes = (nodes, ignoreList) => { - nodes.forEach(node => findVars(node, ignoreList)); +const parseNodes = (nodes, variables, ignoreList) => { + nodes.forEach(node => findVars(node, variables, ignoreList)); }; -const findVars = (node, ignoreList) => { +const findVars = (node, result, ignoreList) => { if (node instanceof Comment) { parseComment(node); @@ -18,13 +17,13 @@ const findVars = (node, ignoreList) => { } if (node instanceof Declaration && node.prop.startsWith('$') && !ignoreList.includes(node.prop) && fusvEnabled) { - variables.push(node.prop); + result.push(node.prop); return; } if (node.nodes) { - parseNodes(node.nodes, ignoreList); + parseNodes(node.nodes, result, ignoreList); } }; @@ -38,8 +37,9 @@ const parseComment = node => { const parse = (scssString, ignoreList) => { const parsedScss = scssParse(scssString); - variables = []; - parseNodes(parsedScss.nodes, ignoreList); + const variables = []; + + parseNodes(parsedScss.nodes, variables, ignoreList); return variables; }; From 8d6d68c5ff99872057fbe226b83d6b43f64bd219 Mon Sep 17 00:00:00 2001 From: GeoSot Date: Sun, 7 Mar 2021 17:42:35 +0200 Subject: [PATCH 3/3] revert for each --- lib/parse-variable.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/parse-variable.js b/lib/parse-variable.js index 0ebf77a..d221060 100644 --- a/lib/parse-variable.js +++ b/lib/parse-variable.js @@ -6,7 +6,9 @@ const Comment = require('postcss/lib/comment'); let fusvEnabled = true; const parseNodes = (nodes, variables, ignoreList) => { - nodes.forEach(node => findVars(node, variables, ignoreList)); + for (const node of nodes) { + findVars(node, variables, ignoreList); + } }; const findVars = (node, result, ignoreList) => {