@kolibridev/contentful
Advanced tools
Comparing version 0.2.1 to 0.2.3
@@ -16,3 +16,4 @@ 'use strict'; | ||
splitTagFields: ['socialMediaHandles'], | ||
numberFields: ['price'] | ||
numberFields: ['price'], | ||
durationFields: ['duration'] | ||
}, _config || {}); |
@@ -48,2 +48,12 @@ 'use strict'; | ||
const durationEnding = duration => duration > 1 ? 's' : ''; | ||
const processDurationFields = minutes => { | ||
if (minutes < 60) { | ||
return `${ minutes } minute${ durationEnding(minutes) }`; | ||
} | ||
return `${ moment.duration(minutes, 'minutes').asHours() } hour${ durationEnding(minutes) }`; | ||
}; | ||
const processSplitTags = splitTags => { | ||
@@ -94,3 +104,3 @@ const obj = {}; | ||
_.each(entry.fields, (value, field) => { | ||
const isMarkdown = config.markdownContentTypes.indexOf(entry.sys.contentType.sys.id) !== -1 && config.markdownFields.indexOf(field) !== -1; | ||
const isMarkdown = config.markdownContentTypes.indexOf(entry.sys && entry.sys.contentType && entry.sys.contentType.sys.id) !== -1 && config.markdownFields.indexOf(field) !== -1; | ||
@@ -107,2 +117,4 @@ if (field === 'favicon') { | ||
obj[field] = processNumberFields(value); | ||
} else if (config.durationFields.indexOf(field) !== -1) { | ||
obj[field] = processDurationFields(value); | ||
} else if (isMarkdown) { | ||
@@ -109,0 +121,0 @@ obj[field] = marked(value); |
{ | ||
"name": "@kolibridev/contentful", | ||
"version": "0.2.1", | ||
"version": "0.2.3", | ||
"description": "Transforms content from contentful", | ||
@@ -5,0 +5,0 @@ "license": "ISC", |
@@ -16,2 +16,3 @@ | ||
numberFields: ['price'], | ||
durationFields: ['duration'], | ||
}, _config || {}) |
@@ -46,2 +46,12 @@ const _ = require('lodash') | ||
const durationEnding = (duration) => (duration > 1 ? 's' : '') | ||
const processDurationFields = (minutes) => { | ||
if (minutes < 60) { | ||
return `${minutes} minute${durationEnding(minutes)}` | ||
} | ||
return `${moment.duration(minutes, 'minutes').asHours()} hour${durationEnding(minutes)}` | ||
} | ||
const processSplitTags = (splitTags) => { | ||
@@ -92,3 +102,3 @@ const obj = {} | ||
_.each(entry.fields, (value, field) => { | ||
const isMarkdown = config.markdownContentTypes.indexOf(entry.sys.contentType.sys.id) !== -1 && | ||
const isMarkdown = config.markdownContentTypes.indexOf(entry.sys && entry.sys.contentType && entry.sys.contentType.sys.id) !== -1 && | ||
config.markdownFields.indexOf(field) !== -1 | ||
@@ -106,2 +116,4 @@ | ||
obj[field] = processNumberFields(value) | ||
} else if (config.durationFields.indexOf(field) !== -1) { | ||
obj[field] = processDurationFields(value) | ||
} else if (isMarkdown) { | ||
@@ -108,0 +120,0 @@ obj[field] = marked(value) |
12013
295