24 lines
		
	
	
		
			436 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			436 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'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;
 |