UNPKG

liftie

Version:

Clean, simple, easy to read, fast ski resort lift status

34 lines (28 loc) 890 B
const select = require('../../select'); const coerce = require('../../tools/coerce'); const domutil = require('../../tools/domutil'); const debug = require('debug')('liftie:resort:brettonwoods'); function parse(dom) { const liftStatus = {}; select(dom, '#trail-content > div:nth-of-type(-n + 2)').forEach(div => { let name; let status; div.children.forEach(node => { if (node.type === 'text') { name = domutil.findText(node); if (name) { name = name.trim().replace(/\s+High-Speed Quad$/, ''); } } else if (node.type === 'tag' && node.name === 'span') { status = node.attribs.class || 'open'; if (name) { liftStatus[name] = coerce(status); name = undefined; } } }); }); debug('Bretton Woods Lift Status:', liftStatus); return liftStatus; } module.exports = parse;