UNPKG

timing-object

Version:

An implementation of the timing object specification.

28 lines (21 loc) 916 B
import { TCalculateDeltaFactory } from '../types'; export const createCalculateDelta: TCalculateDeltaFactory = (calculatePositiveRealSolution) => { return (vector, startPosition, endPosition) => { const deltaToStartPosition = calculatePositiveRealSolution(vector, startPosition); const deltaToEndPosition = calculatePositiveRealSolution(vector, endPosition); // @todo Is it theoretically possible to have both deltas? if (deltaToStartPosition !== null && deltaToEndPosition !== null) { if (deltaToStartPosition < deltaToEndPosition) { return deltaToStartPosition; } return deltaToEndPosition; } if (deltaToStartPosition !== null) { return deltaToStartPosition; } if (deltaToEndPosition !== null) { return deltaToEndPosition; } return null; }; };