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; 
 |  
  |