• File: parseString.js
  • Full Path: /var/www/paytek-africa.com/node_modules/loader-utils/lib/parseString.js
  • Date Modified: 07/19/2022 5:05 PM
  • File size: 436 bytes
  • MIME-type: text/plain
  • Charset: utf-8
'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;