function parseJsonConfig(string,location,messages){var items={};// Parses a JSON-like comment by the same way as parsing CLI option.
try{items=levn.parse("Object",string)||{};// Some tests say that it should ignore invalid comments such as `/*eslint no-alert:abc*/`.
// Also, commaless notations have invalid severity:
//     "no-alert: 2 no-console: 2" --> {"no-alert": "2 no-console: 2"}
// Should ignore that case as well.
if(ConfigOps.isEverySeverityValid(items)){return items;}}catch(ex){}// ignore to parse the string by a fallback.
// Optionator cannot parse commaless notations.
// But we are supporting that. So this is a fallback for that.
items={};string=string.replace(/([a-zA-Z0-9\-/]+):/g,"\"$1\":").replace(/(]|[0-9])\s+(?=")/,"$1,");try{items=JSON.parse("{"+string+"}");}catch(ex){messages.push({ruleId:null,fatal:true,severity:2,source:null,message:"Failed to parse JSON from '"+string+"': "+ex.message,line:location.start.line,column:location.start.column+1});}return items;}
Parses a JSON-like config.
@param {string} string The string to parse.
@param {Object} location Start line and column of comments for potential error message.
@param {Object[]} messages The messages queue for potential error message.
@returns {Object} Result map object