diff options
Diffstat (limited to 'node_modules/postcss-ordered-values/src/lib/getValue.js')
| -rw-r--r-- | node_modules/postcss-ordered-values/src/lib/getValue.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/node_modules/postcss-ordered-values/src/lib/getValue.js b/node_modules/postcss-ordered-values/src/lib/getValue.js new file mode 100644 index 00000000..6d94d4e2 --- /dev/null +++ b/node_modules/postcss-ordered-values/src/lib/getValue.js @@ -0,0 +1,36 @@ +'use strict'; +const { stringify } = require('postcss-value-parser'); + +/** + * @param {import('postcss-value-parser').Node[][]} values + * @return {string} + */ +module.exports = function getValue(values) { + return stringify(flatten(values)); +}; +/** + * @param {import('postcss-value-parser').Node[][]} values + * @return {import('postcss-value-parser').Node[]} + */ +function flatten(values) { + /** @type {import('postcss-value-parser').Node[]} */ + const nodes = []; + for (const [index, arg] of values.entries()) { + arg.forEach((val, idx) => { + if ( + idx === arg.length - 1 && + index === values.length - 1 && + val.type === 'space' + ) { + return; + } + nodes.push(val); + }); + + if (index !== values.length - 1) { + nodes[nodes.length - 1].type = 'div'; + nodes[nodes.length - 1].value = ','; + } + } + return nodes; +} |
