Skip to content

Commit

Permalink
apply suggested changes to computeFiniteResult
Browse files Browse the repository at this point in the history
  • Loading branch information
SlicedSilver committed Jul 3, 2023
1 parent 57e030f commit 54dd023
Showing 1 changed file with 7 additions and 9 deletions.
16 changes: 7 additions & 9 deletions src/model/price-range-impl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,20 @@ import { isNumber } from '../helpers/strict-type-checks';

import { PriceRange } from './series-options';

function ensureFiniteWithFallback(value: number, fallback: number): number {
return Number.isFinite(value) ? value : fallback;
}

function computeFiniteResult(
method: (...values: number[]) => number,
valueOne: number,
valueTwo: number,
fallback: number
): number {
const firstFinite = Number.isFinite(valueOne);
return firstFinite && Number.isFinite(valueTwo)
? method(valueOne, valueTwo)
: firstFinite
? valueOne
: ensureFiniteWithFallback(valueTwo, fallback);
const secondFinite = Number.isFinite(valueTwo);

if (firstFinite && secondFinite) {
return method(valueOne, valueTwo);
}

return !firstFinite && !secondFinite ? fallback : (firstFinite ? valueOne : valueTwo);
}

export class PriceRangeImpl {
Expand Down

0 comments on commit 54dd023

Please sign in to comment.