Sha256: 23569f404f6d4d9a3fb1d1ac96befae3a99cba2053b430a6be54f1fe31319290
Contents?: true
Size: 1.16 KB
Versions: 24
Compression:
Stored size: 1.16 KB
Contents
'use strict'; /** @typedef {import('postcss-value-parser').Node} ValueNode */ /** * @param {ValueNode | undefined} valueNode * @returns {boolean} */ module.exports = function (valueNode) { if (!valueNode) { return false; } if (valueNode.type !== 'function' || !valueNode.nodes || valueNode.value) { return false; } // It's necessary to remove comments and spaces if they are present const cleanNodes = valueNode.nodes.filter( (node) => node.type !== 'comment' && node.type !== 'space', ); // Map without comments and spaces will have the structure like $map (prop: value, prop2: value) // ↑ ↑ ↑ ↑ // 0 1 2 3 if (cleanNodes[0] && cleanNodes[0].type !== 'word' && cleanNodes[0].type !== 'string') { return false; } if (cleanNodes[1] && cleanNodes[1].value !== ':') { return false; } // There is no need to check type or value of this node since it could be anything if (!cleanNodes[2]) { return false; } if (cleanNodes[3] && cleanNodes[3].value !== ',') { return false; } return true; };
Version data entries
24 entries across 24 versions & 1 rubygems