UNPKG

liftie

Version:

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

35 lines (31 loc) 801 B
import _ from 'lodash'; function getOpenResorts(cookie) { const open = cookie['resorts-open']; if (open !== undefined) { return open.split(','); } } function sortByOpen(resorts) { const open = []; const closed = []; resorts = _.sortBy(resorts, r => r.name); resorts.forEach(r => { const arr = r.open ? open : closed; arr.push(r); }); return open.concat(closed); } export default function markOpen(resorts, cookie) { let openList = getOpenResorts(cookie); if (!openList && resorts.length > 5) { // no cookie and a lot of resorts - display everything as closed openList = []; } resorts.forEach(resort => { resort.open = !openList || openList.indexOf(resort.id) > -1; }); if (openList) { resorts = sortByOpen(resorts); } return resorts; }