1234567891011121314151617181920212223242526272829303132333435 |
- 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;
|