15 lines
326 B
JavaScript
15 lines
326 B
JavaScript
module.exports = { escape, unescape };
|
|
|
|
function unescape(w) {
|
|
w = w.charAt(0) === '"'
|
|
? w.replace(/^"|([^\\])"$/g, '$1')
|
|
: w.replace(/\\ /g, ' ');
|
|
|
|
return w.replace(/\\("|'|\$|`|\\)/g, '$1');
|
|
}
|
|
|
|
function escape(w) {
|
|
w = w.replace(/(["'$`\\])/g,'\\$1');
|
|
return w.match(/\s+/) ? `"${w}"` : w;
|
|
}
|