code: 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;
  }
docs: 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