import crypto from 'node:crypto'

/**
 * Uid 工具模块
 * 
 * 该模块提供了一个生成唯一标识符（UID）的工具函数。
 * 使用场景：在需要生成唯一标识符的场景下，如生成会话ID、临时文件名等。
 */
export const Uid = {
  /**
   * 生成一个随机的唯一标识符
   * 
   * 该函数使用 Node.js 的 crypto 模块生成 16 字节的随机数据，
   * 并将其转换为十六进制字符串形式，以确保唯一性和可读性。
   * 
   * @returns {string} 返回一个32字符长度的十六进制字符串，作为唯一标识符。
   */
  rand(): string {
    return crypto.randomBytes(16).toString('hex')
  },
}