Files
WeatherTool/web/src/aggregator/chart/CityResult.tsx
T

27 lines
904 B
TypeScript
Raw Normal View History

2023-06-22 19:39:49 +03:00
import { Component } from "solid-js";
import { CityChart } from "./CityChart";
import { DataQuery } from "../helpers";
2023-06-22 19:39:49 +03:00
export const CityResult: Component<{ city: string, query: DataQuery, result: any }> = ({ city, query, result }) => {
2023-06-22 19:39:49 +03:00
return (
<div class="result-item">
<h4>{ city }</h4>
{
isDateNumber(result)
? <CityChart city={city} data={result} query={query}/>
: result
2023-06-22 19:39:49 +03:00
}
</div>
);
}
function isDateNumber(value: unknown): value is [string, number | null][] {
if (!Array.isArray(value)) return false;
for (let i = 0; i < value.length; i++) {
let item = value[i];
if (!Array.isArray(item) || item.length !== 2 || typeof item[0] !== 'string' || (typeof item[1] !== 'number' && item[1] !== null)) {
return false;
}
}
return true;
}