More var -> let/const conversions

This commit is contained in:
rejas 2021-07-02 17:24:29 +02:00 committed by veeck
parent 53720ae8ae
commit 2619f92d09
4 changed files with 37 additions and 41 deletions

View File

@ -8,8 +8,8 @@
* MIT Licensed. * MIT Licensed.
*/ */
(function () { (function () {
var initializing = false; let initializing = false;
var fnTest = /xyz/.test(function () { const fnTest = /xyz/.test(function () {
xyz; xyz;
}) })
? /\b_super\b/ ? /\b_super\b/
@ -20,27 +20,27 @@
// Create a new Class that inherits from this class // Create a new Class that inherits from this class
Class.extend = function (prop) { Class.extend = function (prop) {
var _super = this.prototype; let _super = this.prototype;
// Instantiate a base class (but only create the instance, // Instantiate a base class (but only create the instance,
// don't run the init constructor) // don't run the init constructor)
initializing = true; initializing = true;
var prototype = new this(); const prototype = new this();
initializing = false; initializing = false;
// Make a copy of all prototype properties, to prevent reference issues. // Make a copy of all prototype properties, to prevent reference issues.
for (var p in prototype) { for (const p in prototype) {
prototype[p] = cloneObject(prototype[p]); prototype[p] = cloneObject(prototype[p]);
} }
// Copy the properties over onto the new prototype // Copy the properties over onto the new prototype
for (var name in prop) { for (const name in prop) {
// Check if we're overwriting an existing function // Check if we're overwriting an existing function
prototype[name] = prototype[name] =
typeof prop[name] === "function" && typeof _super[name] === "function" && fnTest.test(prop[name]) typeof prop[name] === "function" && typeof _super[name] === "function" && fnTest.test(prop[name])
? (function (name, fn) { ? (function (name, fn) {
return function () { return function () {
var tmp = this._super; const tmp = this._super;
// Add a new ._super() method that is the same method // Add a new ._super() method that is the same method
// but on the super-class // but on the super-class
@ -48,7 +48,7 @@
// The method only need to be bound temporarily, so we // The method only need to be bound temporarily, so we
// remove it when we're done executing // remove it when we're done executing
var ret = fn.apply(this, arguments); const ret = fn.apply(this, arguments);
this._super = tmp; this._super = tmp;
return ret; return ret;
@ -91,8 +91,8 @@ function cloneObject(obj) {
return obj; return obj;
} }
var temp = obj.constructor(); // give temp the original obj's constructor const temp = obj.constructor(); // give temp the original obj's constructor
for (var key in obj) { for (const key in obj) {
temp[key] = cloneObject(obj[key]); temp[key] = cloneObject(obj[key]);
if (key === "lockStrings") { if (key === "lockStrings") {

View File

@ -65,7 +65,7 @@ function createWindow() {
if (process.argv.includes("dev")) { if (process.argv.includes("dev")) {
if (process.env.JEST_WORKER_ID !== undefined) { if (process.env.JEST_WORKER_ID !== undefined) {
// if we are running with jest // if we are running with jest
var devtools = new BrowserWindow(electronOptions); const devtools = new BrowserWindow(electronOptions);
mainWindow.webContents.setDevToolsWebContents(devtools.webContents); mainWindow.webContents.setDevToolsWebContents(devtools.webContents);
} }
mainWindow.webContents.openDevTools(); mainWindow.webContents.openDevTools();

View File

@ -141,12 +141,7 @@ var Translator = (function () {
* The first language defined in translations.js will be used. * The first language defined in translations.js will be used.
*/ */
loadCoreTranslationsFallback: function () { loadCoreTranslationsFallback: function () {
// The variable `first` will contain the first let first = Object.keys(translations)[0];
// defined translation after the following line.
for (var first in translations) {
break;
}
if (first) { if (first) {
Log.log("Loading core translation fallback file: " + translations[first]); Log.log("Loading core translation fallback file: " + translations[first]);
loadJSON(translations[first], (translations) => { loadJSON(translations[first], (translations) => {

View File

@ -134,7 +134,7 @@ WeatherProvider.register("envcanada", {
// //
fetchData: function (url, method = "GET", data = null) { fetchData: function (url, method = "GET", data = null) {
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
var request = new XMLHttpRequest(); const request = new XMLHttpRequest();
request.open(method, url, true); request.open(method, url, true);
request.onreadystatechange = function () { request.onreadystatechange = function () {
if (this.readyState === 4) { if (this.readyState === 4) {
@ -164,7 +164,7 @@ WeatherProvider.register("envcanada", {
// CORS errors when accessing EC // CORS errors when accessing EC
// //
getUrl() { getUrl() {
var path = "https://thingproxy.freeboard.io/fetch/https://dd.weather.gc.ca/citypage_weather/xml/" + this.config.provCode + "/" + this.config.siteCode + "_e.xml"; const path = "https://thingproxy.freeboard.io/fetch/https://dd.weather.gc.ca/citypage_weather/xml/" + this.config.provCode + "/" + this.config.siteCode + "_e.xml";
return path; return path;
}, },
@ -232,7 +232,7 @@ WeatherProvider.register("envcanada", {
// Capture the sunrise and sunset values from EC data // Capture the sunrise and sunset values from EC data
// //
var sunList = ECdoc.querySelectorAll("siteData riseSet dateTime"); const sunList = ECdoc.querySelectorAll("siteData riseSet dateTime");
currentWeather.sunrise = moment(sunList[1].querySelector("timeStamp").textContent, "YYYYMMDDhhmmss"); currentWeather.sunrise = moment(sunList[1].querySelector("timeStamp").textContent, "YYYYMMDDhhmmss");
currentWeather.sunset = moment(sunList[3].querySelector("timeStamp").textContent, "YYYYMMDDhhmmss"); currentWeather.sunset = moment(sunList[3].querySelector("timeStamp").textContent, "YYYYMMDDhhmmss");
@ -249,14 +249,14 @@ WeatherProvider.register("envcanada", {
const days = []; const days = [];
var weather = new WeatherObject(this.config.units, this.config.tempUnits, this.config.windUnits); const weather = new WeatherObject(this.config.units, this.config.tempUnits, this.config.windUnits);
var foreBaseDates = ECdoc.querySelectorAll("siteData forecastGroup dateTime"); const foreBaseDates = ECdoc.querySelectorAll("siteData forecastGroup dateTime");
var baseDate = foreBaseDates[1].querySelector("timeStamp").textContent; const baseDate = foreBaseDates[1].querySelector("timeStamp").textContent;
weather.date = moment(baseDate, "YYYYMMDDhhmmss"); weather.date = moment(baseDate, "YYYYMMDDhhmmss");
var foreGroup = ECdoc.querySelectorAll("siteData forecastGroup forecast"); const foreGroup = ECdoc.querySelectorAll("siteData forecastGroup forecast");
// For simplicity, we will only accumulate precipitation and will not try to break out // For simplicity, we will only accumulate precipitation and will not try to break out
// rain vs snow accumulations // rain vs snow accumulations
@ -288,9 +288,9 @@ WeatherProvider.register("envcanada", {
// where the next day's (aka Tomorrow's) forecast is located in the forecast array. // where the next day's (aka Tomorrow's) forecast is located in the forecast array.
// //
var nextDay = 0; let nextDay = 0;
var lastDay = 0; let lastDay = 0;
var currentTemp = ECdoc.querySelector("siteData currentConditions temperature").textContent; const currentTemp = ECdoc.querySelector("siteData currentConditions temperature").textContent;
// //
// If the first Element is Current Today, look at Current Today and Current Tonight for the current day. // If the first Element is Current Today, look at Current Today and Current Tonight for the current day.
@ -356,9 +356,9 @@ WeatherProvider.register("envcanada", {
// iteration looking at the current Element and the next Element. // iteration looking at the current Element and the next Element.
// //
var lastDate = moment(baseDate, "YYYYMMDDhhmmss"); let lastDate = moment(baseDate, "YYYYMMDDhhmmss");
for (var stepDay = nextDay; stepDay < lastDay; stepDay += 2) { for (let stepDay = nextDay; stepDay < lastDay; stepDay += 2) {
let weather = new WeatherObject(this.config.units, this.config.tempUnits, this.config.windUnits); let weather = new WeatherObject(this.config.units, this.config.tempUnits, this.config.windUnits);
// Add 1 to the date to reflect the current forecast day we are building // Add 1 to the date to reflect the current forecast day we are building
@ -402,23 +402,23 @@ WeatherProvider.register("envcanada", {
// Get local timezone UTC offset so that each hourly time can be calculated properly // Get local timezone UTC offset so that each hourly time can be calculated properly
var baseHours = ECdoc.querySelectorAll("siteData hourlyForecastGroup dateTime"); const baseHours = ECdoc.querySelectorAll("siteData hourlyForecastGroup dateTime");
var hourOffset = baseHours[1].getAttribute("UTCOffset"); const hourOffset = baseHours[1].getAttribute("UTCOffset");
// //
// The EC hourly forecast is held in a 24-element array - Elements 0 to 23 - with Element 0 holding // The EC hourly forecast is held in a 24-element array - Elements 0 to 23 - with Element 0 holding
// the forecast for the next 'on the hour' timeslot. This means the array is a rolling 24 hours. // the forecast for the next 'on the hour' timeslot. This means the array is a rolling 24 hours.
// //
var hourGroup = ECdoc.querySelectorAll("siteData hourlyForecastGroup hourlyForecast"); const hourGroup = ECdoc.querySelectorAll("siteData hourlyForecastGroup hourlyForecast");
for (var stepHour = 0; stepHour < 24; stepHour += 1) { for (let stepHour = 0; stepHour < 24; stepHour += 1) {
var weather = new WeatherObject(this.config.units, this.config.tempUnits, this.config.windUnits); const weather = new WeatherObject(this.config.units, this.config.tempUnits, this.config.windUnits);
// Determine local time by applying UTC offset to the forecast timestamp // Determine local time by applying UTC offset to the forecast timestamp
var foreTime = moment(hourGroup[stepHour].getAttribute("dateTimeUTC"), "YYYYMMDDhhmmss"); const foreTime = moment(hourGroup[stepHour].getAttribute("dateTimeUTC"), "YYYYMMDDhhmmss");
var currTime = foreTime.add(hourOffset, "hours"); const currTime = foreTime.add(hourOffset, "hours");
weather.date = moment(currTime, "X"); weather.date = moment(currTime, "X");
// Capture the temperature // Capture the temperature
@ -427,7 +427,7 @@ WeatherProvider.register("envcanada", {
// Capture Likelihood of Precipitation (LOP) and unit-of-measure values // Capture Likelihood of Precipitation (LOP) and unit-of-measure values
var precipLOP = hourGroup[stepHour].querySelector("lop").textContent * 1.0; const precipLOP = hourGroup[stepHour].querySelector("lop").textContent * 1.0;
if (precipLOP > 0) { if (precipLOP > 0) {
weather.precipitation = precipLOP; weather.precipitation = precipLOP;
@ -453,9 +453,9 @@ WeatherProvider.register("envcanada", {
// //
setMinMaxTemps(weather, foreGroup, today, fullDay, currentTemp) { setMinMaxTemps(weather, foreGroup, today, fullDay, currentTemp) {
var todayTemp = foreGroup[today].querySelector("temperatures temperature").textContent; const todayTemp = foreGroup[today].querySelector("temperatures temperature").textContent;
var todayClass = foreGroup[today].querySelector("temperatures temperature").getAttribute("class"); const todayClass = foreGroup[today].querySelector("temperatures temperature").getAttribute("class");
// //
// The following logic is largely aimed at accommodating the Current day's forecast whereby we // The following logic is largely aimed at accommodating the Current day's forecast whereby we
@ -500,9 +500,9 @@ WeatherProvider.register("envcanada", {
} }
} }
var nextTemp = foreGroup[today + 1].querySelector("temperatures temperature").textContent; const nextTemp = foreGroup[today + 1].querySelector("temperatures temperature").textContent;
var nextClass = foreGroup[today + 1].querySelector("temperatures temperature").getAttribute("class"); const nextClass = foreGroup[today + 1].querySelector("temperatures temperature").getAttribute("class");
if (fullDay === true) { if (fullDay === true) {
if (nextClass === "low") { if (nextClass === "low") {
@ -577,6 +577,7 @@ WeatherProvider.register("envcanada", {
return temp; return temp;
} }
}, },
// //
// Convert km/h to mph // Convert km/h to mph
// //