function createProblem(options) {
    const problem = {
        ruleId: options.ruleId,
        severity: options.severity,
        message: options.message,
        line: options.loc.start.line,
        column: options.loc.start.column + 1,
        nodeType: options.node && options.node.type || null
    };

    /*
     * If this isn’t in the conditional, some of the tests fail
     * because `messageId` is present in the problem object
     */
    if (options.messageId) {
        problem.messageId = options.messageId;
    }

    if (options.loc.end) {
        problem.endLine = options.loc.end.line;
        problem.endColumn = options.loc.end.column + 1;
    }

    if (options.fix) {
        problem.fix = options.fix;
    }

    return problem;
}
function createProblem(options) {
    const problem = {
        ruleId: options.ruleId,
        severity: options.severity,
        message: options.message,
        line: options.loc.start.line,
        column: options.loc.start.column + 1,
        nodeType: options.node && options.node.type || null
    };

    /*
     * If this isn’t in the conditional, some of the tests fail
     * because `messageId` is present in the problem object
     */
    if (options.messageId) {
        problem.messageId = options.messageId;
    }

    if (options.loc.end) {
        problem.endLine = options.loc.end.line;
        problem.endColumn = options.loc.end.column + 1;
    }

    if (options.fix) {
        problem.fix = options.fix;
    }

    return problem;
}
function createProblem ( options ) { const problem = { ruleId : options . ruleId , severity : options . severity , message : options . message , line : options . loc . start . line , column : options . loc . start . column + 1 , nodeType : options . node && options . node . type || null } ; /*
     * If this isn’t in the conditional, some of the tests fail
     * because `messageId` is present in the problem object
     */ if ( options . messageId ) { problem . messageId = options . messageId ; } if ( options . loc . end ) { problem . endLine = options . loc . end . line ; problem . endColumn = options . loc . end . column + 1 ; } if ( options . fix ) { problem . fix = options . fix ; } return problem ; }
Creates information about the report from a descriptor
@param {Object} options Information about the problem
@param {string} options.ruleId Rule ID
@param {(0|1|2)} options.severity Rule severity
@param {(ASTNode|null)} options.node Node
@param {string} options.message Error message
@param {string} [options.messageId] The error message ID.
@param {{start: SourceLocation, end: (SourceLocation|null)}} options.loc Start and end location
@param {{text: string, range: (number[]|null)}} options.fix The fix object
@returns {function(...args): ReportInfo} Function that returns information about the report
Creates information about the report from a descriptor
Creates a problem object from the options