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.
23 lines
436 B
23 lines
436 B
'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;
|
|
|