Security update for Core, with self-updated composer
[yaffs-website] / node_modules / uncss / node_modules / postcss / lib / list.js
1 'use strict';
2
3 exports.__esModule = true;
4 var list = {
5     split: function split(string, separators, last) {
6         var array = [];
7         var current = '';
8         var split = false;
9
10         var func = 0;
11         var quote = false;
12         var escape = false;
13
14         for (var i = 0; i < string.length; i++) {
15             var letter = string[i];
16
17             if (quote) {
18                 if (escape) {
19                     escape = false;
20                 } else if (letter === '\\') {
21                     escape = true;
22                 } else if (letter === quote) {
23                     quote = false;
24                 }
25             } else if (letter === '"' || letter === '\'') {
26                 quote = letter;
27             } else if (letter === '(') {
28                 func += 1;
29             } else if (letter === ')') {
30                 if (func > 0) func -= 1;
31             } else if (func === 0) {
32                 if (separators.indexOf(letter) !== -1) split = true;
33             }
34
35             if (split) {
36                 if (current !== '') array.push(current.trim());
37                 current = '';
38                 split = false;
39             } else {
40                 current += letter;
41             }
42         }
43
44         if (last || current !== '') array.push(current.trim());
45         return array;
46     },
47     space: function space(string) {
48         var spaces = [' ', '\n', '\t'];
49         return list.split(string, spaces);
50     },
51     comma: function comma(string) {
52         var comma = ',';
53         return list.split(string, [comma], true);
54     }
55 };
56
57 exports.default = list;
58 module.exports = exports['default'];