1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| '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;
|
|