@qor/helpers

Утилиты

Вспомогательные функции для работы с файлами и ID.

downloadBlob

Скачивает файл из Blob объекта.

downloadBlob(blob: Blob, filename: string): void

Пример

// Скачивание PDF отчёта
const response = await $fetch('/api/reports/monthly', {
  responseType: 'blob'
})

downloadBlob(response, 'report-2025-01.pdf')

Использование для экспорта

const exportToExcel = async () => {
  const blob = await $fetch('/api/orders/export', {
    responseType: 'blob',
    query: { format: 'xlsx' }
  })

  downloadBlob(blob, `orders-${Date.now()}.xlsx`)
}

generateRandomID

Генерирует случайный ID из букв.

generateRandomID(length?: number): string

Примеры

generateRandomID()     // "xkfjdlwo" (8 символов по умолчанию)
generateRandomID(12)   // "abcdefghijkl"
generateRandomID(4)    // "xyzw"

Использование

// Для временных элементов в списках
const newItem = {
  id: generateRandomID(),
  title: '',
  completed: false
}

// Для уникальных ключей компонентов
const tabs = items.map(item => ({
  ...item,
  key: generateRandomID()
}))

generateUUID

Генерирует UUID v4.

generateUUID(): string

Пример

generateUUID()  // "550e8400-e29b-41d4-a716-446655440000"
Использует crypto.randomUUID() если доступен, иначе fallback на Math.random().

Использование

// Для идентификаторов, требующих уникальности
const uploadId = generateUUID()

// Для трекинга операций
const operationId = generateUUID()
console.log(`Starting operation ${operationId}`)
Для критичных операций (ID заказов, платежей) используйте серверную генерацию ID.