extract parseIcon from parseCommon

This commit is contained in:
Jannis R 2019-08-30 19:19:31 +02:00
parent 9318007455
commit 6c5409fbce
No known key found for this signature in database
GPG key ID: 0FE83946296A88A5
3 changed files with 20 additions and 12 deletions

View file

@ -1,6 +1,9 @@
'use strict' 'use strict'
const parseDateTime = require('../parse/date-time') const parseDateTime = require('../parse/date-time')
const parsePlatform = require('../parse/platform')
const parseIcon = require('../parse/icon')
const parseWhen = require('../parse/when')
const parseDeparture = require('../parse/departure') const parseDeparture = require('../parse/departure')
const parseArrival = require('../parse/arrival') const parseArrival = require('../parse/arrival')
const parseJourneyLeg = require('../parse/journey-leg') const parseJourneyLeg = require('../parse/journey-leg')
@ -40,6 +43,9 @@ const defaultProfile = {
transformJourneysQuery: id, transformJourneysQuery: id,
parseDateTime, parseDateTime,
parsePlatform,
parseIcon,
parseWhen,
parseDeparture, parseDeparture,
parseArrival, parseArrival,
parseJourneyLeg, parseJourneyLeg,

View file

@ -3,17 +3,6 @@
const get = require('lodash/get') const get = require('lodash/get')
const findInTree = require('../lib/find-in-tree') const findInTree = require('../lib/find-in-tree')
// todo: move to separate file
const parseIcon = (i) => {
const res = {
type: i.res || null,
title: i.text || null
}
if (i.fg) res.fgColor = i.fg
if (i.bg) res.bgColor = i.bg
return res
}
const parseCommonData = (profile, opt, res) => { const parseCommonData = (profile, opt, res) => {
const c = res.common || {} const c = res.common || {}
@ -27,7 +16,7 @@ const parseCommonData = (profile, opt, res) => {
res.icons = [] res.icons = []
if (Array.isArray(c.icoL)) { if (Array.isArray(c.icoL)) {
res.icons = c.icoL.map(parseIcon) res.icons = c.icoL.map(icon => profile.parseIcon(profile, icon))
findInTree(res, '**.icoX', (idx, parent) => { findInTree(res, '**.icoX', (idx, parent) => {
if ('number' === typeof idx) parent.icon = res.icons[idx] if ('number' === typeof idx) parent.icon = res.icons[idx]
}) })

13
parse/icon.js Normal file
View file

@ -0,0 +1,13 @@
'use strict'
const parseIcon = (profile, i) => {
const res = {
type: i.res || null,
title: i.text || null
}
if (i.fg) res.fgColor = i.fg
if (i.bg) res.bgColor = i.bg
return res
}
module.exports = parseIcon