export var SCROLL_DIRECTION_BACKWARD = -1; export var SCROLL_DIRECTION_FORWARD = 1; export var SCROLL_DIRECTION_HORIZONTAL = 'horizontal'; export var SCROLL_DIRECTION_VERTICAL = 'vertical'; /** * Calculates the number of cells to overscan before and after a specified range. * This function ensures that overscanning doesn't exceed the available cells. */ export default function defaultOverscanIndicesGetter(_ref) { var cellCount = _ref.cellCount, overscanCellsCount = _ref.overscanCellsCount, scrollDirection = _ref.scrollDirection, startIndex = _ref.startIndex, stopIndex = _ref.stopIndex; if (scrollDirection === SCROLL_DIRECTION_FORWARD) { return { overscanStartIndex: Math.max(0, startIndex), overscanStopIndex: Math.min(cellCount - 1, stopIndex + overscanCellsCount) }; } else { return { overscanStartIndex: Math.max(0, startIndex - overscanCellsCount), overscanStopIndex: Math.min(cellCount - 1, stopIndex) }; } } import { bpfrpt_proptype_OverscanIndicesGetterParams } from "./types"; import { bpfrpt_proptype_OverscanIndices } from "./types";