UNPKG

opendash

Version:

open.DASH data visualization framework

57 lines (45 loc) 1.27 kB
import * as React from "react"; import { useDeepCompareEffect, useOpenDashServices, DataItemValueInterface, DataItemInterface, } from "../.."; import { StateInterface } from "./types"; export function useItems( state: StateInterface ): Record<string, DataItemInterface> { return {}; } export function useData( state: StateInterface ): [boolean, Record<string, DataItemValueInterface[]>] { const { DataService } = useOpenDashServices(); const [data, setData] = React.useState(null); const [hasError, setError] = React.useState(false); return [hasError, data]; } export function aggregate( aggregation: "mean" | "sum" | "min" | "max" | "count", values: number[] ): number { switch (aggregation) { case "mean": return ( values.reduce((previous, current) => (current += previous)) / values.length ); case "sum": return values.reduce((previous, current) => (current += previous)); case "min": return Math.min(...values); case "max": return Math.max(...values); case "count": default: return values.length; } } export function round(value: number, decimals: number): number { return Math.round(value * Math.pow(10, decimals)) / Math.pow(10, decimals); }