fbredius/storybook

View on GitHub
lib/components/src/controls/react-editable-json-tree/utils/parse.ts

Summary

Maintainability
A
0 mins
Test Coverage
/**
 * Parse.
 * @param string {String} string to parse
 * @returns {*}
 */
export function parse(string: string) {
  let result = string;

  // Check if string contains 'function' and start with it to eval it
  if (result.indexOf('function') === 0) {
    return eval(`(${result})`); // eslint-disable-line no-eval
  }

  try {
    result = JSON.parse(string);
  } catch (e) {
    // Error
  }
  return result;
}