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