UNPKG

d2-ui

Version:
58 lines (51 loc) 1.62 kB
'use strict'; exports.__esModule = true; var list = { split: function split(string, separators, last) { var array = []; var current = ''; var split = false; var func = 0; var quote = false; var escape = false; for (var i = 0; i < string.length; i++) { var letter = string[i]; if (quote) { if (escape) { escape = false; } else if (letter === '\\') { escape = true; } else if (letter === quote) { quote = false; } } else if (letter === '"' || letter === '\'') { quote = letter; } else if (letter === '(') { func += 1; } else if (letter === ')') { if (func > 0) func -= 1; } else if (func === 0) { if (separators.indexOf(letter) !== -1) split = true; } if (split) { if (current !== '') array.push(current.trim()); current = ''; split = false; } else { current += letter; } } if (last || current !== '') array.push(current.trim()); return array; }, space: function space(string) { var spaces = [' ', '\n', '\t']; return list.split(string, spaces); }, comma: function comma(string) { var comma = ','; return list.split(string, [comma], true); } }; exports.default = list; module.exports = exports['default'];