Sha256: c5f6a5c7567953f7a8b22ca09980997970b125bfbfc924e02791f8c10d2e5b2c

Contents?: true

Size: 942 Bytes

Versions: 24

Compression:

Stored size: 942 Bytes

Contents

'use strict';

const blurInterpolation = require('./blurInterpolation');
const isStandardSyntaxValue = require('./isStandardSyntaxValue');
const valueParser = require('postcss-value-parser');

/**
 * Get unit from value node
 *
 * Returns `null` if the unit is not found.
 *
 * @param {import('postcss-value-parser').Node} node
 *
 * @returns {string | null}
 */
module.exports = function (node) {
	if (!node || !node.value) {
		return null;
	}

	// Ignore non-word nodes
	if (node.type !== 'word') {
		return null;
	}

	// Ignore non standard syntax
	if (!isStandardSyntaxValue(node.value)) {
		return null;
	}

	// Ignore HEX
	if (node.value.startsWith('#')) {
		return null;
	}

	// Remove non standard stuff
	const value = blurInterpolation(node.value, '')
		// ignore hack unit
		.replace('\\0', '')
		.replace('\\9', '');

	const parsedUnit = valueParser.unit(value);

	if (!parsedUnit) {
		return null;
	}

	return parsedUnit.unit;
};

Version data entries

24 entries across 24 versions & 1 rubygems

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