export function createId() {
  if (typeof crypto !== 'undefined' && crypto.randomUUID) {
    return crypto.randomUUID()
  }
  return `${Date.now()}-${Math.random().toString(16).slice(2)}`
}

export function formatFileSize(size) {
  const value = Number(size || 0)
  if (value < 1024) return `${value}B`
  if (value < 1024 * 1024) return `${(value / 1024).toFixed(1)}KB`
  return `${(value / 1024 / 1024).toFixed(1)}MB`
}

export function formatTestError(error, fallback) {
  const message = String(error?.message || '').trim()
  if (/not\s*found/i.test(message)) {
    return '测试接口暂未加载或规则详情已失效，请刷新规则详情后再试。'
  }
  return message || fallback
}

export function formatTime() {
  return new Intl.DateTimeFormat('zh-CN', {
    hour: '2-digit',
    minute: '2-digit'
  }).format(new Date())
}
