better filtering of null station data for current weather close #54

5.13.3
This commit is contained in:
Matt Walsh
2024-10-19 13:26:45 -05:00
parent c9307768a4
commit 13b77a0070
6 changed files with 19 additions and 17 deletions

2
dist/index.html vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "ws4kp", "name": "ws4kp",
"version": "5.13.2", "version": "5.13.3",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "ws4kp", "name": "ws4kp",
"version": "5.13.2", "version": "5.13.3",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"ejs": "^3.1.5", "ejs": "^3.1.5",

View File

@@ -1,6 +1,6 @@
{ {
"name": "ws4kp", "name": "ws4kp",
"version": "5.13.2", "version": "5.13.3",
"description": "Welcome to the WeatherStar 4000+ project page!", "description": "Welcome to the WeatherStar 4000+ project page!",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {

View File

@@ -94,7 +94,7 @@ class Almanac extends WeatherDisplay {
if (iteration % 2 === 0) test = (lastPhase, testPhase) => lastPhase > threshold && testPhase <= threshold; if (iteration % 2 === 0) test = (lastPhase, testPhase) => lastPhase > threshold && testPhase <= threshold;
do { do {
// store last phase // store last phase
const lastPhase = phase; const lastPhase = phase;
// calculate new phase after step // calculate new phase after step
moonDate = moonDate.plus(step); moonDate = moonDate.plus(step);
@@ -103,7 +103,7 @@ class Almanac extends WeatherDisplay {
if (phase > 0.9) phase -= 1.0; if (phase > 0.9) phase -= 1.0;
// compare // compare
if (test(lastPhase, phase)) { if (test(lastPhase, phase)) {
// last iteration is three, return value // last iteration is three, return value
if (iteration >= 3) break; if (iteration >= 3) break;
// iterate recursively // iterate recursively
return this.getMoonTransition(threshold, phaseName, moonDate, iteration + 1); return this.getMoonTransition(threshold, phaseName, moonDate, iteration + 1);
@@ -160,15 +160,15 @@ class Almanac extends WeatherDisplay {
const imageName = (type) => { const imageName = (type) => {
switch (type) { switch (type) {
case 'Full': case 'Full':
return 'images/2/Full-Moon.gif'; return 'images/2/Full-Moon.gif';
case 'Last': case 'Last':
return 'images/2/Last-Quarter.gif'; return 'images/2/Last-Quarter.gif';
case 'New': case 'New':
return 'images/2/New-Moon.gif'; return 'images/2/New-Moon.gif';
case 'First': case 'First':
default: default:
return 'images/2/First-Quarter.gif'; return 'images/2/First-Quarter.gif';
} }
}; };

View File

@@ -56,7 +56,9 @@ class CurrentWeather extends WeatherDisplay {
|| observations.features[0].properties.windSpeed.value === null || observations.features[0].properties.windSpeed.value === null
|| observations.features[0].properties.textDescription === null || observations.features[0].properties.textDescription === null
|| observations.features[0].properties.textDescription === '' || observations.features[0].properties.textDescription === ''
|| observations.features[0].properties.icon === null) { || observations.features[0].properties.icon === null
|| observations.features[0].properties.dewpoint.value === null
|| observations.features[0].properties.barometricPressure.value === null) {
observations = undefined; observations = undefined;
throw new Error(`Unable to get observations: ${station.properties.stationIdentifier}, trying next station`); throw new Error(`Unable to get observations: ${station.properties.stationIdentifier}, trying next station`);
} }