UNPKG

854 BJavaScriptView Raw
1var split = require('../utils/split');
2
3var BRACE_PREFIX = /^\(/;
4var BRACE_SUFFIX = /\)$/;
5var IMPORT_PREFIX_PATTERN = /^@import/i;
6var QUOTE_PREFIX_PATTERN = /['"]\s*/;
7var QUOTE_SUFFIX_PATTERN = /\s*['"]/;
8var URL_PREFIX_PATTERN = /^url\(\s*/i;
9var URL_SUFFIX_PATTERN = /\s*\)/i;
10
11function extractImportUrlAndMedia(atRuleValue) {
12 var uri;
13 var mediaQuery;
14 var stripped;
15 var parts;
16
17 stripped = atRuleValue
18 .replace(IMPORT_PREFIX_PATTERN, '')
19 .trim()
20 .replace(URL_PREFIX_PATTERN, '(')
21 .replace(URL_SUFFIX_PATTERN, ')')
22 .replace(QUOTE_PREFIX_PATTERN, '')
23 .replace(QUOTE_SUFFIX_PATTERN, '');
24
25 parts = split(stripped, ' ');
26
27 uri = parts[0]
28 .replace(BRACE_PREFIX, '')
29 .replace(BRACE_SUFFIX, '');
30 mediaQuery = parts.slice(1).join(' ');
31
32 return [uri, mediaQuery];
33}
34
35module.exports = extractImportUrlAndMedia;