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

Version Path
trusty-cms-6.3.1 node_modules/stylelint/lib/utils/isMap.js
trusty-cms-5.0.7 node_modules/stylelint/lib/utils/isMap.js
trusty-cms-5.0.6 node_modules/stylelint/lib/utils/isMap.js
trusty-cms-5.0.5 node_modules/stylelint/lib/utils/isMap.js
trusty-cms-5.0.4 node_modules/stylelint/lib/utils/isMap.js
trusty-cms-5.0.3 node_modules/stylelint/lib/utils/isMap.js
trusty-cms-5.0.2 node_modules/stylelint/lib/utils/isMap.js
trusty-cms-5.0.1 node_modules/stylelint/lib/utils/isMap.js
trusty-cms-4.3.5 node_modules/stylelint/lib/utils/isMap.js
trusty-cms-5.0.0 node_modules/stylelint/lib/utils/isMap.js
trusty-cms-4.3.4 node_modules/stylelint/lib/utils/isMap.js
trusty-cms-4.3.3 node_modules/stylelint/lib/utils/isMap.js
trusty-cms-4.3.2 node_modules/stylelint/lib/utils/isMap.js
trusty-cms-4.3.1 node_modules/stylelint/lib/utils/isMap.js
trusty-cms-4.3 node_modules/stylelint/lib/utils/isMap.js
trusty-cms-4.2.3 node_modules/stylelint/lib/utils/isMap.js
trusty-cms-4.2.2 node_modules/stylelint/lib/utils/isMap.js
trusty-cms-4.2.1 node_modules/stylelint/lib/utils/isMap.js
trusty-cms-4.2 node_modules/stylelint/lib/utils/isMap.js
trusty-cms-4.1.9 node_modules/stylelint/lib/utils/isMap.js