code: function parseJobList(body, host, excludeSponsored){
    const $ = cheerio.load(body);
    const jobTable = $('#resultsCol');
    const jobs = jobTable.find('.result');
    let cont = true;
  
    // Filter out ads
    const filtered = excludeSponsored
      ? jobs.filter((_, e) => {
          const job = $(e);
          const footer = job.find('.jobsearch-SerpJobCard-footer');
          const spanText = Array.from(
            footer.find('span').map((_, span) => $(span).text())
          );
          const isSponsered = spanText.some(text =>
            text.toLowerCase().includes('sponsored')
          );
          return !isSponsered;
        })
      : jobs;
  
    // Create objects
    const jobObjects = filtered.map((i, e) => {
      const job = $(e);
  
      const jobtitle = job.find('.jobtitle').text().trim();
  
      const url = 'https://' + host + job.find('.jobtitle').attr('href');
  
      const summary = job.find('.summary').text().trim();
  
      const company = job.find('.company').text().trim() || null;
  
      const location = job.find('.location').text().trim();
  
      const postDate = job.find('.date').text().trim();
  
      const salary = job.find('.salary.no-wrap').text().trim();
  
      return {
        title: jobtitle,
        summary: summary,
        url: url,
        company: company,
        location: location,
        postDate: postDate,
        salary: salary
      };
    }).get();
  
    if (jobTable.children().hasClass('dupetext')) {
      // We haven't seen all the results but indeed says the rest are duplicates
      cont = false;
    } else if (
      $('.pagination > *:last-child')
        .text()
        .indexOf('Next') === -1
    ) {
      // We have seen all the results
      cont = false;
    }
  
    return {
      error: null,
      continue: cont,
      jobs: jobObjects
    };
  }
docs: /* Parses a page of jobs