UNPKG

scancss

Version:

A robust CSS stylesheet statistics collector and analyzer

28 lines (21 loc) 964 B
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.handleVariables = handleVariables; var _reCssVariable = require('../../constants/reCssVariable'); var _countUsage = require('../../calculators/countUsage'); var _isCustomProperty = require('../../predicates/isCustomProperty'); /** Handle cases like `tv-transition--fade-in .35s ease forwards` */ const reCssVariableInWord = new RegExp('\\b' + _reCssVariable.reCssVariable.source, 'g'); function handleVariables(decl, report) { if ((0, _isCustomProperty.isCustomProperty)(decl.prop) && _reCssVariable.reCssVariable.test(decl.prop)) { report.variables.valuesMap[decl.prop] = decl.value; } if (_reCssVariable.reCssVariable.test(decl.value) && decl.value.match(reCssVariableInWord) === null) { decl.value.match(_reCssVariable.reCssVariable).forEach(variable => { report.variables.total++; (0, _countUsage.countUsage)(variable, report.variables.usage); }); } }