Skip to content

Commit

Permalink
modernize code
Browse files Browse the repository at this point in the history
  • Loading branch information
pirxpilot committed Oct 14, 2023
1 parent 27de17d commit a439fc6
Show file tree
Hide file tree
Showing 49 changed files with 243 additions and 235 deletions.
12 changes: 6 additions & 6 deletions lib/cli/curl.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
var path = require('path');
var fs = require('fs');
var request = require('../lifts/request');
var dirs = require('./dirs');
const path = require('path');
const fs = require('fs');
const request = require('../lifts/request');
const dirs = require('./dirs');

module.exports = curl;

function curl(url, resortId) {
var dst = path.join(dirs.test, 'example', resortId + '.html'),
dstStream = fs.createWriteStream(dst);
const dst = path.join(dirs.test, 'example', resortId + '.html');
const dstStream = fs.createWriteStream(dst);

console.log('Fetching %s to %s...', url.host + url.pathname, dst);
request(url).pipe(dstStream);
Expand Down
2 changes: 1 addition & 1 deletion lib/cli/dirs.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var path = require('path');
const path = require('path');

module.exports = {
templates: path.resolve(__dirname, '../../templates'),
Expand Down
8 changes: 4 additions & 4 deletions lib/cli/fetch.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
var program = require('commander');
var curl = require('./curl');
const program = require('commander');
const curl = require('./curl');

var done;
let done;

function fetchExample(resortId) {
var resort;
let resort;

try {
resort = require('../resorts/' + resortId + '/resort.json');
Expand Down
30 changes: 15 additions & 15 deletions lib/cli/generate.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
var program = require('commander');
var prompt = require('prompt');
var url = require('url');
var fs = require('fs');
var path = require('path');
var template = require('lodash').template;
var curl = require('./curl');
var dirs = require('./dirs');
const program = require('commander');
const prompt = require('prompt');
const url = require('url');
const fs = require('fs');
const path = require('path');
const template = require('lodash').template;
const curl = require('./curl');
const dirs = require('./dirs');

var fname;
var schema = [
let fname;
const schema = [
{
name: 'id',
description: 'Short name of the resort [acme]',
Expand Down Expand Up @@ -59,7 +59,7 @@ program
if (program.json) {
fname = path.resolve(program.json);
fs.readFile(fname, function (err, data) {
var conf;
let conf;
if (err) {
console.error(err);
process.exit(-1);
Expand Down Expand Up @@ -88,8 +88,8 @@ else {

function generate(resort) {
console.log('Generating files for %s', resort.name);
var resortDir = path.join(dirs.lib, resort.id),
json;
const resortDir = path.join(dirs.lib, resort.id);
let json;

fs.mkdirSync(resortDir);
copy(path.join(dirs.templates, 'index.js'), path.join(resortDir, 'index.js'), resort);
Expand Down Expand Up @@ -126,7 +126,7 @@ function copy(src, dst, params) {

function execute(conf) {
function splitHost(v) {
var resortUrl = url.parse(v, true);
const resortUrl = url.parse(v, true);
if (resortUrl.pathname) {
conf.pathname = resortUrl.pathname;
}
Expand All @@ -144,7 +144,7 @@ function execute(conf) {
console.error(err);
process.exit(-1);
}
var resortUrl = url.parse(conf.host + conf.pathname);
const resortUrl = url.parse(conf.host + conf.pathname);

conf.tags = conf.tags.split(/\s*,\s*/);
conf.coordinates = conf.coordinates.split(/\s*,\s*/).map(parseFloat);
Expand Down
6 changes: 3 additions & 3 deletions lib/client/resort/snow.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var day = 24 * 60 * 60 * 1000;
const day = 24 * 60 * 60 * 1000;

module.exports = render;
module.exports.section = 1;
Expand All @@ -11,8 +11,8 @@ module.exports.type = 'snow';
// .notice= resort.snow.notice

function renderField(div, field, snow) {
var el = div.querySelector('.' + field);
var value = snow[field];
const el = div.querySelector('.' + field);
const value = snow[field];
el.querySelector('.value').innerHTML = value || '';
el.classList.toggle('hidden', !value);
}
Expand Down
10 changes: 6 additions & 4 deletions lib/embed/index.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*global document, window */

function el(attrs) {
var attrStr = Object.keys(attrs).map(function(attr) {
const attrStr = Object.keys(attrs).map(function(attr) {
return attr + '="' + attrs[attr] + '"';
}).join(' ');

Expand All @@ -12,7 +12,8 @@ function el(attrs) {
}

function addWidget(parent, resort, style) {
var query, html;
let query;
let html;
query = style ? '?style=' + encodeURIComponent(style) : '';
html = el({
'class': 'lift-status ' + resort,
Expand All @@ -33,14 +34,15 @@ function receiveMessage(event)
if (!event.data.height) {
return;
}
var iframe = document.querySelector('.liftie-widget[data-resort="' + event.data.resort + '"] iframe');
const iframe = document.querySelector('.liftie-widget[data-resort="' + event.data.resort + '"] iframe');
if (iframe) {
iframe.style.height = event.data.height + 'px';
}
}

function embed() {
var i, els = document.querySelectorAll('.liftie-widget[data-resort]');
let i;
const els = document.querySelectorAll('.liftie-widget[data-resort]');
if (els.length) {
window.addEventListener("message", receiveMessage, false);
}
Expand Down
16 changes: 8 additions & 8 deletions lib/lifts/index.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
var debug = require('debug')('liftie:lifts');
const debug = require('debug')('liftie:lifts');

var pipe = require('./pipe');
var rest = require('./rest');
var stats = require('./stats');
var getParseFn = require('./parse');
const pipe = require('./pipe');
const rest = require('./rest');
const stats = require('./stats');
const getParseFn = require('./parse');

var interval = 60 * 1000; // once a minute - fetch status if there were requests
var longInterval = 30 * interval; // once every 30 minutes - fetch even if there wasn't any requests
const interval = 60 * 1000; // once a minute - fetch status if there were requests
const longInterval = 30 * interval; // once every 30 minutes - fetch even if there wasn't any requests

module.exports = fetch;
module.exports.interval = {
Expand Down Expand Up @@ -47,7 +47,7 @@ function fetch(resort, fn) {
resort._parseFn = getParseFn(resort.id);
}
debug("Fetch lift status for %s", resort.id);
var rfau = resort._rfau;
const rfau = resort._rfau;
rfau.fn(rfau.url, resort._parseFn, function(err, data) {
Promise.resolve(data).then(function(data, err) {
if (err || !data) {
Expand Down
4 changes: 2 additions & 2 deletions lib/lifts/pipe.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
var request = require('./request');
var parseHtml = require('./parser').html;
const request = require('./request');
const parseHtml = require('./parser').html;

module.exports = function (url, parse, fn) {
request(url)
Expand Down
4 changes: 2 additions & 2 deletions lib/lifts/request.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
var superagent = require('superagent');
const superagent = require('superagent');

var userAgent = 'Mozilla/5.0 (compatible; Liftie/1.0; +https://liftie.info)';
const userAgent = 'Mozilla/5.0 (compatible; Liftie/1.0; +https://liftie.info)';

module.exports = function ({ host, pathname, query, http2 }) {

Expand Down
8 changes: 4 additions & 4 deletions lib/lifts/stats.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
module.exports = stats;
module.exports.summary = summary;

var states = ['open', 'hold', 'scheduled', 'closed'];
const states = ['open', 'hold', 'scheduled', 'closed'];

function empty(val) {
return states.reduce(function(memo, s) {
Expand All @@ -11,7 +11,7 @@ function empty(val) {
}

function percentage(status) {
var all = states.reduce(function(memo, s) {
const all = states.reduce(function(memo, s) {
return memo + status[s];
}, 0);
if (!all) {
Expand All @@ -25,7 +25,7 @@ function percentage(status) {
}

function stats (status) {
var r = Object.keys(status).reduce(function(memo, lift) {
const r = Object.keys(status).reduce(function(memo, lift) {
memo[status[lift]] += 1;
return memo;
}, empty(0));
Expand All @@ -44,7 +44,7 @@ function summary(arr) {
return sum;
}

var r = arr.reduce(add, empty(0));
const r = arr.reduce(add, empty(0));
r.percentage = percentage(r);
return r;
}
6 changes: 3 additions & 3 deletions lib/loader.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var fs = require('fs');
const fs = require('fs');

module.exports = load;

Expand All @@ -7,8 +7,8 @@ function load(fn) {
if(err) {
return fn(err);
}
var data = names.reduce(function (data, id) {
var resort = require('./resorts/' + id + '/resort.json');
const data = names.reduce(function (data, id) {
const resort = require('./resorts/' + id + '/resort.json');

resort.id = id;
data[id] = resort;
Expand Down
12 changes: 6 additions & 6 deletions lib/loaders.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
var async = require('async');
var debug = require('debug')('liftie:loaders');
const async = require('async');
const debug = require('debug')('liftie:loaders');

module.exports = {
register: register,
load: load
register,
load
};

var loaders = [];
const loaders = [];

function register(loader) {
loaders.push(loader);
Expand All @@ -24,7 +24,7 @@ function appendResorts(data, resorts) {
function load(fn) {
debug('Loading resorts...');
async.parallel(loaders, function(err, results) {
var data = results.reduce(appendResorts, Object.create(null));
const data = results.reduce(appendResorts, Object.create(null));
debug('Loaded %d resorts.', Object.keys(data).length);
fn(null, data);
});
Expand Down
8 changes: 4 additions & 4 deletions lib/opening.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
var debug = require('debug')('liftie:opening');
var hour = require('./tools/millis').hour;
const debug = require('debug')('liftie:opening');
const hour = require('./tools/millis').hour;

module.exports = fetch;
module.exports.interval = {
Expand All @@ -8,7 +8,7 @@ module.exports.interval = {
};

function str2date(date) {
var match;
let match;
if (!date) {
return;
}
Expand All @@ -17,7 +17,7 @@ function str2date(date) {
}

function ifNotOpenYet(opening) {
var openingDate = str2date(opening);
const openingDate = str2date(opening);
if (openingDate && openingDate >= Date.now()) {
return opening;
}
Expand Down
2 changes: 1 addition & 1 deletion lib/plugins.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var plugins = Object.create(null);
const plugins = Object.create(null);

function register(name, module) {
plugins[name] = module;
Expand Down
13 changes: 7 additions & 6 deletions lib/resorts/brettonwoods/index.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
var select = require('../../select');
var coerce = require('../../tools/coerce');
var domutil = require('../../tools/domutil');
var debug = require('debug')('liftie:resort:brettonwoods');
const select = require('../../select');
const coerce = require('../../tools/coerce');
const domutil = require('../../tools/domutil');
const debug = require('debug')('liftie:resort:brettonwoods');

function parse(dom) {
var liftStatus = {};
const liftStatus = {};

select(dom, '#trail-content > div:nth-of-type(-n + 2)').forEach(function(div) {
var name, status;
let name;
let status;

div.children.forEach(function(node) {
if (node.type === 'text') {
Expand Down
2 changes: 1 addition & 1 deletion lib/resorts/cransmontana/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var toTitleCase = require('to-title-case');
const toTitleCase = require('to-title-case');

module.exports = {
selector: 'item',
Expand Down
2 changes: 1 addition & 1 deletion lib/resorts/falls-creek/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ const debug = require('debug')('liftie:resort:powdr');
module.exports = parse;

function parse({ Lifts: { Lift } }) {
var liftStatus = {};
const liftStatus = {};

Lift.forEach(function ({ LiftName, LiftStatusMorning }) {
liftStatus[LiftName] = coerce(LiftStatusMorning);
Expand Down
4 changes: 2 additions & 2 deletions lib/resorts/hochfuegen/index.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
var domutil = require('../../tools/domutil');
const domutil = require('../../tools/domutil');

module.exports = {
selector: 'h3:contains(Lifte) ~ table .liftrows',
parse: function(node) {
parse(node) {
return {
name: domutil.childText(node, '2/0'),
status: domutil.child(node, '0/0/0').attribs.alt
Expand Down
2 changes: 1 addition & 1 deletion lib/resorts/jackson-hole/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ const debug = require('debug')('liftie:resort:jackson-hole');
module.exports = parse;

function parse(data) {
var liftStatus = {};
const liftStatus = {};

Object.values(data.lifts)
.forEach(function ({ name, openingStatus }) {
Expand Down
2 changes: 1 addition & 1 deletion lib/resorts/king-pine/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ const debug = require('debug')('liftie:resort:king-pine');
module.exports = parse;

function parse({ lifts }) {
var liftStatus = {};
const liftStatus = {};

lifts.forEach(function ({ name, status }) {
if (status) {
Expand Down
2 changes: 1 addition & 1 deletion lib/resorts/loveland/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ const { findText } = require('../../tools/domutil');

module.exports = {
selector: '.tablepress-table-name',
parse: function(node) {
parse(node) {
const [ name, status ] = findText(node).split(' – ');
return {
name,
Expand Down
2 changes: 1 addition & 1 deletion lib/resorts/mad-river-glen/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ module.exports = {
selector: '.snowreport_sponsorarea:nth-child(2) table tbody tr',
parse: {
name: 0,
status: function(node) {
status(node) {
let src = text(node, { child: '1/0', attribute: 'src' });
return src.includes('cross') ? 'closed' : 'open';
}
Expand Down
Loading

0 comments on commit a439fc6

Please sign in to comment.