@lazy-random/df-array
Version:
32 lines (27 loc) • 617 B
text/typescript
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