UNPKG

@italia-tools/faker

Version:

Italian-specific fake data generator based on Faker.js

26 lines (25 loc) 822 B
import type { WeightedItem } from "../types/types"; export declare class WeightedRandomSelector<T> { private readonly SMALL_DATASET_THRESHOLD; private isSmallDataset; private fastAccessArray?; private items?; private totalWeight; /** * Creates a WeightedRandomSelector that respects actual weights * @param items Array of items with weights * @param isSorted boolean indicating if items are pre-sorted */ constructor(items: WeightedItem<T>[], isSorted?: boolean); private initializeSmallDataset; /** * Initialization for large datasets using cumulative weights */ private initializeLargeDataset; /** * Returns a random item respecting actual weights */ select(): T; private binarySearch; selectMultiple(count: number): T[]; }