kitchensink
Version:
Dispatch's awesome components and style guide
15 lines (14 loc) • 367 B
JavaScript
;
module.exports = function (str) {
return str.replace(/(?:\\*)?'([^'\\]*\\.)*[^']*'/g, function (match) {
return match
// unescape single-quotes
.replace(/\\'/g, '\'')
// escape escapes
.replace(/(^|[^\\])(\\+)"/g, '$1$2\\\"')
// escape double-quotes
.replace(/([^\\])"/g, '$1\\\"')
// convert
.replace(/^'|'$/g, '"');
});
};