36 lines
		
	
	
		
			881 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			881 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
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;
 |