Blame view

node_modules/clean-css/lib/reader/extract-import-url-and-media.js 854 Bytes
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
  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;