jobberjs
Version:
3rd party library for retrieving jobs from job boards
32 lines (31 loc) • 1.28 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var cheerio_1 = __importDefault(require("cheerio"));
var turndown_1 = __importDefault(require("turndown"));
function jobCriteriaListParser($) {
return $.find('.job-criteria__item').toArray().map(function (element) {
var $ = cheerio_1.default.load(element);
return {
name: $('.job-criteria__subheader').text(),
value: $('.job-criteria__text').toArray().map(function (e) { return cheerio_1.default.load(e).root().text(); })
};
});
}
/**
* Take the HTML of a LinkedIn job posting, and return a JobDescription
* @param html html of the job posting
*/
function jobDescriptionParser(html) {
var $ = cheerio_1.default.load(html);
var descriptionHtml = $('.show-more-less-html__markup').html() || '';
return {
title: $('.topcard__title').text(),
company: $('.topcard__org-name-link').text(),
descriptionMarkdown: new turndown_1.default().turndown(descriptionHtml),
criteria: jobCriteriaListParser($('.job-criteria__list'))
};
}
exports.default = jobDescriptionParser;