-
Notifications
You must be signed in to change notification settings - Fork 61
/
dataFromJob.js
41 lines (37 loc) · 1.12 KB
/
dataFromJob.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import * as Scrivito from "scrivito";
import formatDate from "../../utils/formatDate";
function dataFromJob(job) {
return {
"@context": "http://schema.org",
"@type": "JobPosting",
title: job.get("title"),
datePosted: formatDate(job.get("datePosted"), "yyyy-mm-dd"),
validThrough: formatDate(job.get("validThrough"), "yyyy-mm-dd"),
description: Scrivito.extractText(job),
employmentType: job.get("employmentType"),
hiringOrganization: {
"@type": "Organization",
name: job.get("hiringOrganizationName"),
sameAs: job.get("hiringOrganizationWebsite"),
},
jobLocation: locationFromJob(job),
};
}
function locationFromJob(job) {
return {
"@type": "Place",
name: job.get("locationName"),
address: addressFromJob(job),
};
}
function addressFromJob(job) {
return {
"@type": "PostalAddress",
streetAddress: job.get("locationStreetAddress"),
addressLocality: job.get("locationLocality"),
addressRegion: job.get("locationRegion"),
postalCode: job.get("locationPostalCode"),
addressCountry: job.get("locationCountry"),
};
}
export default dataFromJob;