/**
* If <var>value</var> is an object, return <var>value</var>,
* otherwise parse <var>value</var> using JSON.parse().
* Return null if an exception occurs.
*
* @since 1.0.0-rc.23
* @namespace
* @memberof just
* @param {*} value - Some value.
*
* @example
* just.parseJSON('{"a": 1}'); // > {a: 1}
*
* @example
* just.parseJSON('[]'); // > []
*
* @example
* just.parseJSON(''); // > null
*
* @example
* just.parseJSON({}); // > null
*
* @example
* just.parseJSON(1); // > 1
*
* @return {*} The given value (if it's an object), the parsed value or null.
*/
function parseJSON (value) {
var parsedValue;
if (typeof value === 'object') { return value; }
try { parsedValue = JSON.parse(value); }
catch (exception) { parsedValue = null; }
return parsedValue;
}
module.exports = parseJSON;