UNPKG

scancss

Version:

A robust CSS stylesheet statistics collector and analyzer

38 lines (29 loc) 1.13 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.handleAtRuleFunctions = handleAtRuleFunctions; var _postcssValuesParser = require('postcss-values-parser'); var _postcssValuesParser2 = _interopRequireDefault(_postcssValuesParser); var _isSafeAst = require('../../../predicates/isSafeAst'); var _countUsage = require('../../../calculators/countUsage'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function handleAtRuleFunctions(value, report) { try { const ast = (0, _postcssValuesParser2.default)(value).parse(); /* istanbul ignore else */ if ((0, _isSafeAst.isSafeAst)(ast)) { ast.nodes[0].nodes.forEach(node => { const nodeValue = node.value.toLowerCase(); if (node.type === 'func' && nodeValue !== 'local' && nodeValue !== 'format') { report.functions.total++; (0, _countUsage.countUsage)(nodeValue, report.functions.usage); } }); } } catch (err) { /* istanbul ignore next */ /* eslint-disable-next-line no-console */ console.log(`'postcss-values-parser' module error\n${err}`); } }