in scripts/docs.js [95:133]
function _parseExample(exampleSource) {
var lines = exampleSource.split('\n');
// parse first example line as config
var example = _parseConfigLine(lines[0]);
// other lines are the example code
example.code = lines.slice(1).join('\n').trim();
// wrap the errorMessage in the format needed for the eslint rule tester.
if (example.errorMessage) {
if (_.isString(example.errorMessage)) {
example.errors = [_wrapErrorMessage(example.errorMessage)];
} else {
throw new Error('Example "errorMessage" must be a string');
}
} else if (example.errorMessages) {
if (_.isArray(example.errorMessages)) {
example.errors = example.errorMessages.map(_wrapErrorMessage);
} else {
throw new Error('Example "errorMessages" must be an array');
}
}
// invalid examples require an errorMessage
if (!example.valid && !(example.errorMessage || example.errorMessages)) {
throw new Error('Example config requires "errorMessage(s)" when valid: false');
}
// json options needed as group key
example.jsonOptions = example.options ? JSON.stringify(example.options) : '';
// use options for tests or default options of no options are configured
if (example.options) {
example.displayOptions = example.options;
}
return example;
}