Spaces:
Running
Running
var split = require('../utils/split'); | |
var BRACE_PREFIX = /^\(/; | |
var BRACE_SUFFIX = /\)$/; | |
var IMPORT_PREFIX_PATTERN = /^@import/i; | |
var QUOTE_PREFIX_PATTERN = /['"]\s{0,31}/; | |
var QUOTE_SUFFIX_PATTERN = /\s{0,31}['"]/; | |
var URL_PREFIX_PATTERN = /^url\(\s{0,31}/i; | |
var URL_SUFFIX_PATTERN = /\s{0,31}\)/i; | |
function extractImportUrlAndMedia(atRuleValue) { | |
var uri; | |
var mediaQuery; | |
var normalized; | |
var parts; | |
normalized = atRuleValue | |
.replace(IMPORT_PREFIX_PATTERN, '') | |
.trim() | |
.replace(URL_PREFIX_PATTERN, '(') | |
.replace(URL_SUFFIX_PATTERN, ') ') | |
.replace(QUOTE_PREFIX_PATTERN, '') | |
.replace(QUOTE_SUFFIX_PATTERN, ''); | |
parts = split(normalized, ' '); | |
uri = parts[0] | |
.replace(BRACE_PREFIX, '') | |
.replace(BRACE_SUFFIX, ''); | |
mediaQuery = parts.slice(1).join(' '); | |
return [uri, mediaQuery]; | |
} | |
module.exports = extractImportUrlAndMedia; | |