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