You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// Generated by CoffeeScript 1.3.3
(function() { var scan;
scan = function(string, pattern, callback) { var match, result; result = ""; while (string.length > 0) { match = string.match(pattern); if (match) { result += string.slice(0, match.index); result += callback(match); string = string.slice(match.index + match[0].length); } else { result += string; string = ""; } } return result; };
exports.split = function(line) { var field, words; if (line == null) { line = ""; } words = []; field = ""; scan(line, /\s*(?:([^\s\\\'\"]+)|'((?:[^\'\\]|\\.)*)'|"((?:[^\"\\]|\\.)*)"|(\\.?)|(\S))(\s|$)?/, function(match) { var dq, escape, garbage, raw, seperator, sq, word; raw = match[0], word = match[1], sq = match[2], dq = match[3], escape = match[4], garbage = match[5], seperator = match[6]; if (garbage != null) { throw new Error("Unmatched quote"); } field += word || (sq || dq || escape).replace(/\\(?=.)/, ""); if (seperator != null) { words.push(field); return field = ""; } }); if (field) { words.push(field); } return words; };
exports.escape = function(str) { if (str == null) { str = ""; } if (str == null) { return "''"; } return str.replace(/([^A-Za-z0-9_\-.,:\/@\n])/g, "\\$1").replace(/\n/g, "'\n'"); };
}).call(this);
|