mirror of
				https://github.com/public-transport/db-vendo-client.git
				synced 2025-10-31 16:16:32 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict'
 | |
| 
 | |
| const brToNewline = require('br2nl')
 | |
| 
 | |
| const parseDateTime = require('./date-time')
 | |
| 
 | |
| const typesByIcon = Object.assign(Object.create(null), {
 | |
| 	HimWarn: 'status'
 | |
| })
 | |
| 
 | |
| // todo: is passing in profile necessary?
 | |
| const parseWarning = (profile, w, icons) => {
 | |
| 	// todo: hid, act, pub, lead, tckr, icoX, fLocX, tLocX, prod, comp,
 | |
| 	// todo: cat (1, 2), pubChL
 | |
| 	// pubChL:
 | |
| 	// [ { name: 'timetable',
 | |
| 	// fDate: '20180606',
 | |
| 	// fTime: '073000',
 | |
| 	// tDate: '20180713',
 | |
| 	// tTime: '030000' },
 | |
| 	// { name: 'export',
 | |
| 	// fDate: '20180606',
 | |
| 	// fTime: '073000',
 | |
| 	// tDate: '20180713',
 | |
| 	// tTime: '030000' } ]
 | |
| 
 | |
| 	const icon = 'number' === typeof h.icoX && icons[h.icoX] || null
 | |
| 	const type = icon && icon.res && typesByIcon[icon.res] || 'warning'
 | |
| 
 | |
| 	return {
 | |
| 		type,
 | |
| 		summary: brToNewline(w.head),
 | |
| 		text: brToNewline(w.text),
 | |
| 		priority: w.prio,
 | |
| 		category: w.cat, // todo: parse to sth meaningful
 | |
| 		validFrom: parseDateTime(profile, w.sDate, w.sTime).toISO(),
 | |
| 		validUntil: parseDateTime(profile, w.eDate, w.eTime).toISO(),
 | |
| 		modified: parseDateTime(profile, w.lModDate, w.lModTime).toISO()
 | |
| 	}
 | |
| }
 | |
| 
 | |
| module.exports = parseWarning
 |