Skip to content

Commit

Permalink
fix a bug when values in details were falsy but not NaN
Browse files Browse the repository at this point in the history
  • Loading branch information
acheronfail committed Sep 16, 2024
1 parent fae1713 commit fae156c
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 18 deletions.
2 changes: 1 addition & 1 deletion src/lib/ChartUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ export const ticks = (values: number[], opts: TickOptions = {}): number[] => {
n += tickSpacing;
}
if (max > niceMax) result.push(n);
while (min < result[0]) result.unshift(result[0] - tickSpacing);
while (result[0] && min < result[0]) result.unshift(result[0] - tickSpacing);

if (!result.length) {
return [0, 100];
Expand Down
14 changes: 10 additions & 4 deletions src/lib/Details.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
<List
items={[
{ label: 'Speed', value: `${data.speed} ${units === 'metric' ? 'km/h' : 'mph'}`, color: ChartColours.Speed },
...(data.erpm ? [{ label: 'ERPM', value: `${data.erpm}` }] : []),
...(Number.isNaN(data.erpm) ? [] : [{ label: 'ERPM', value: `${data.erpm}` }]),
{ label: 'Distance', value: `${data.distance} ${units === 'metric' ? 'km' : 'mi'}` },
'-',
{ label: 'State', value: data.state.toUpperCase(), color: getStateColor(data.state) },
Expand All @@ -81,9 +81,15 @@
items={[
{ label: 'Duty', value: `${data.duty}%`, color: data.duty > 80 ? 'red' : ChartColours.DutyCycle },
{ label: 'Motor Current', value: `${data.current_motor} A`, color: ChartColours.CurrentMotor },
...(data.current_field_weakening
? [{ label: 'Field Weakening', value: `${data.current_field_weakening} A`, color: ChartColours.CurrentMotor }]
: []),
...(Number.isNaN(data.current_field_weakening)
? []
: [
{
label: 'Field Weakening',
value: `${data.current_field_weakening} A`,
color: ChartColours.CurrentMotor,
},
]),
'-',
{ label: 'Temp Motor', value: `${data.temp_motor}°C`, color: ChartColours.TempMotor },
{ label: 'Temp Controller', value: `${data.temp_mosfet}°C`, color: ChartColours.TempMosfet },
Expand Down
12 changes: 6 additions & 6 deletions src/lib/parse/floaty.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ describe(parseFloatyJson.name, () => {
expect(units).toEqual('metric');
expect(data).toHaveLength(3);

expect(data[0].gps_latitude).toBe(-1.0);
expect(data[0].gps_longitude).toBe(1.5);
expect(data[1].gps_latitude).toBe(-1.1);
expect(data[1].gps_longitude).toBe(1.6);
expect(data[2].gps_latitude).toBe(-1.1);
expect(data[2].gps_longitude).toBe(1.6);
expect(data[0]!.gps_latitude).toBe(-1.0);
expect(data[0]!.gps_longitude).toBe(1.5);
expect(data[1]!.gps_latitude).toBe(-1.1);
expect(data[1]!.gps_longitude).toBe(1.6);
expect(data[2]!.gps_latitude).toBe(-1.1);
expect(data[2]!.gps_longitude).toBe(1.6);
});
});
10 changes: 5 additions & 5 deletions src/lib/parse/floaty.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { stateCodeMap, type Row } from './types';

function rowsFromFloatyJson(json: ZFloatyJson): Row[] {
const rows: Row[] = [];
const map = (log: ZLog, location: ZLocation) => ({
const map = (log: ZLog, location: ZLocation): Row => ({
adc1: log.adc1,
adc2: log.adc2,
ah_charged: NaN,
Expand Down Expand Up @@ -36,7 +36,7 @@ function rowsFromFloatyJson(json: ZFloatyJson): Row[] {
setpoint: NaN,
speed: log.speed,
state_raw: log.state,
state: stateCodeMap[log.state],
state: stateCodeMap[log.state] ?? '??',
temp_battery: NaN,
temp_mosfet: log.controllerTemp,
temp_motor: log.motorTemp,
Expand All @@ -50,10 +50,10 @@ function rowsFromFloatyJson(json: ZFloatyJson): Row[] {
const { logs, locations } = json;
let locationIdx = 0;
for (let i = 0; i < logs.length; ++i) {
const log = logs[i];
let location = locations[locationIdx];
const log = logs[i]!;
let location = locations[locationIdx]!;
if (location.timestamp < log.timestamp && locations[locationIdx + 1]) {
location = locations[++locationIdx];
location = locations[++locationIdx]!;
}

rows.push(map(log, location));
Expand Down
3 changes: 1 addition & 2 deletions tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@
"isolatedModules": true,
"strict": true,
"noUnusedLocals": true,
// TODO: enable
"noUncheckedIndexedAccess": false,
"noUncheckedIndexedAccess": true,
"moduleDetection": "force"
},
"include": ["src/**/*.ts", "src/**/*.js", "src/**/*.svelte"],
Expand Down

0 comments on commit fae156c

Please sign in to comment.