@imaginerlabs/user-agent-generator
Version:
High-performance, configurable, batch-generating User-Agent spoofing library. Supports multiple browsers, devices, and returns detailed meta information. Perfect for web scraping, automated testing, proxy pools and more.
55 lines (54 loc) • 2.1 kB
TypeScript
/**
* Utility Functions Module
* 工具函数模块
*
* This module provides utility functions for the User-Agent generator
* 该模块为 User-Agent 生成器提供工具函数
*/
/**
* Read version numbers array from specified data file (supports string or {value, weight})
* 从指定的数据文件中读取版本号数组(支持字符串或 {value, weight} 格式)
*
* @param file Filename (e.g., chrome.json) / 文件名(如 chrome.json)
* @returns Array of version numbers / 版本号数组
*/
export declare function readVersions(file: string): (string | {
value: string;
weight: number;
})[];
/**
* Pick a random item from an array
* 从数组中随机选择一个元素
*
* @param array Array to pick from / 要选择的数组
* @param random Optional random number (0-1) / 可选的随机数(0-1)
* @returns Random item from array / 数组中的随机元素
*/
export declare function pickRandom<T>(array: T[], random?: number): T;
/**
* Pick a random item from a weighted array
* 从带权重的数组中随机选择一个元素
*
* @param array Array of {value, weight} objects / {value, weight} 对象数组
* @param random Optional random number (0-1) / 可选的随机数(0-1)
* @returns Random value based on weights / 基于权重的随机值
*/
export declare function pickWeightedRandom<T extends {
value: any;
weight: number;
}>(array: T[], random?: number): T['value'];
/**
* Pick a random version from a weighted version array with subValues
* 从带权重的版本数组中随机选择一个版本,并从其 subValue 数组中随机选择具体版本号
*
* @param array Array of {value, weight, subValue} objects / {value, weight, subValue} 对象数组
* @param random Optional random number (0-1) / 可选的随机数(0-1)
* @returns Random subValue based on weights / 基于权重的随机子版本号
*/
export declare function pickWeightedVersionWithSubValue<T extends {
value: any;
weight: number;
subValue: {
value: string;
}[];
}>(array: T[], random?: number): string;