UNPKG

scancss

Version:

A robust CSS stylesheet statistics collector and analyzer

47 lines (32 loc) 1.54 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.handleImport = handleImport; var _reCssUrlFunctionWithArg = require('../../../constants/reCssUrlFunctionWithArg'); var _reCssFileName = require('../../../constants/reCssFileName'); var _countUsage = require('../../../calculators/countUsage'); var _trimQuotes = require('../../../converters/trimQuotes'); var _handleMediaQueryParams = require('../handleMediaQueryParams'); function handleImport(atRule, report, options) { report.imports.total++; (0, _countUsage.countUsage)(atRule.params, report.imports.usage); let cleanedParams = atRule.params; if (_reCssUrlFunctionWithArg.reCssUrlFunctionWithArg.test(cleanedParams)) { cleanedParams.match(_reCssUrlFunctionWithArg.reCssUrlFunctionWithArg).forEach(func => { const url = func.replace(/^url\(\s*['"]?\s*/g, '').replace(/\s*['"]?\s*\)/g, '').trim(); (0, _countUsage.countUsage)(url, report.imports.urls); }); cleanedParams = cleanedParams.replace(_reCssUrlFunctionWithArg.reCssUrlFunctionWithArg, ''); } if (_reCssFileName.reCssFileName.test(cleanedParams)) { cleanedParams.match(_reCssFileName.reCssFileName).forEach(url => { const cleanedUrl = (0, _trimQuotes.trimQuotes)(url).trim(); (0, _countUsage.countUsage)(cleanedUrl, report.imports.urls); }); cleanedParams = cleanedParams.replace(_reCssFileName.reCssFileName, ''); } if (cleanedParams.trim().length !== 0) { (0, _handleMediaQueryParams.handleMediaQueryParams)(cleanedParams, report, options); } }