job-hoarder
Version:
Job board aggregator to pull in standardized job postings from company job pages
43 lines (42 loc) • 1.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var utils_1 = require("../utils");
var CollageParser = /** @class */ (function () {
function CollageParser() {
var _this = this;
/**
* Parse jobs from request result
* @param {any} data String of jobs
* @returns {Job[]} List of parsed jobs
*/
this.parseJobs = function (data) {
if (!data)
throw new Error('No jobs to parse');
var jobs = utils_1.ensureJSON(data);
if (!jobs.positions)
throw new Error('Failed to parse jobs');
return jobs.positions.map(function (j) { return _this.parseJob(j); });
};
/**
* Parses job from request result
* @param {any} data String of job result
* @returns {Job} Object of parsed job
*/
this.parseJob = function (data) {
if (!data)
throw new Error('No job to parse');
var job = utils_1.ensureJSON(data);
return {
id: job.id.toString(),
url: job.hostedUrl,
title: job.title,
datePosted: new Date(job.createdDate),
jobLocation: job.location,
department: job.department,
description: job.description,
};
};
}
return CollageParser;
}());
exports.default = CollageParser;