UNPKG

@lazy-random/df-array

Version:
32 lines (27 loc) 617 B
import { IRNGLike } from '@lazy-random/rng-abstract-core'; import { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base'; import { _handleStartEnd } from './util/options'; import { int } from '@lazy-random/util-distributions'; /** * return index number form array */ export function dfArrayIndexOne<T extends ITSArrayListMaybeReadonly<unknown>>(random: IRNGLike, arr: T, start: number = 0, end?: number ) { ({ start, end, } = _handleStartEnd(arr, start, end)); if (start === end - 1) { return () => start } return () => { return int(random, start, end) } } export default dfArrayIndexOne