1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
"use strict"; function parseString(str) { try { if(str[0] === "\"") return JSON.parse(str); if(str[0] === "'" && str.substr(str.length - 1) === "'") { return parseString( str .replace(/\\.|"/g, x => x === "\"" ? "\\\"" : x) .replace(/^'|'$/g, "\"") ); } return JSON.parse("\"" + str + "\""); } catch(e) { return str; } } module.exports = parseString;