Skip to content

Commit

Permalink
Cleanup timeseries
Browse files Browse the repository at this point in the history
  • Loading branch information
arildm committed May 24, 2024
1 parent d3351dd commit e447105
Showing 1 changed file with 5 additions and 9 deletions.
14 changes: 5 additions & 9 deletions app/scripts/timeseries.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,7 @@ import settings from "@/settings"
/**
* Find some even points within a range of years.
*
* E.g:
* (1830, 2024) => [1850, 1900, 1950, 2000]
* (1967, 1989) => [1970, 1980]
* (1999, 1999) => [1999]
* (1989, 1999) => [1990, 1995]
* E.g: (1830, 2024) => [1850, 1900, 1950, 2000]
*/
export function calculateYearTicks(min: number, max: number) {
// Find a reasonable step size
Expand All @@ -38,7 +34,7 @@ export const getSeries = () => fromPairs(getTimeDataPairs()) as YearSeries
export function getSeriesSelected() {
const corpora: { time?: YearSeries }[] = settings.corpusListing.selected
// `pickBy` removes zeroes.
const series = corpora.map((corpus) => ("time" in corpus ? (pickBy(corpus.time) as YearSeries) : {}))
const series = corpora.map((corpus) => ("time" in corpus ? pickBy(corpus.time) : {}))
return sumYearSeries(...series)
}

Expand All @@ -54,9 +50,9 @@ export function getSpan() {
return { min: timeData[0][0], max: timeData[timeData.length - 1][0] }
}

/** Numeric data by year. */
type YearSeries = Record<number, number>

/** Sum numbers by year. */
export const sumYearSeries = (...series: YearSeries[]): YearSeries =>
assignWith({}, ...series, (sum: number | undefined, value: number) => (sum || 0) + value)

/** Numeric data by year. */
export type YearSeries = Record<number, number>

0 comments on commit e447105

Please sign in to comment.