1.0.2 • Published 10 months ago
@retailcrm/image-preview v1.0.2
@retailcrm/image-preview
Библиотека содержит функцию preview, которая помогает обрабатывать URL для изображений, используя список доступных
рабочих серверов, а также параметры изменения размера и обрезки.
Функция preview
Функция preview используется для генерации URL изображения с учетом следующих параметров:
- Список рабочих серверов (
workers): массив строк, содержащий имена или адреса рабочих серверов. - Исходный URL (
url): изначальный путь к изображению. - Размер (
resize): (опциональный) строка, определяющая размер изображения. По умолчанию используется размер90x90. - Обрезка (
crop): (опционально) строка, определяющая параметры обрезки изображения.
Если список рабочих серверов пуст, функция просто возвращает исходный URL.
Логика работы
- Если
workersпуст, возвращается исходныйurl. - Выбирается случайный сервер из списка
workers. - Формируется новый URL, содержащий параметры:
- Размер изображения (
resize), - Обрезка (
crop), если предоставлена.
- Размер изображения (
Синтаксис
function preview(
workers: string[],
url: string,
resize?: string,
crop?: string
): stringПример использования
import { preview } from '@retailcrm/processed-image-url'
const workers = ['server1.example.com', 'server2.example.com']
const url = 'path/to/image.jpg'
// Пример 1: использование только resize
console.log(preview(workers, url, '200x200'))
// Результат: //server1.example.com/r/200x200/path/to/image.jpg
// Пример 2: использование resize и crop
console.log(preview(workers, url, '300x300', 'center'))
// Результат: //server2.example.com/r/300x300/c/center/path/to/image.jpg
// Пример 3: пустой список рабочих серверов
console.log(preview([], url))
// Результат: path/to/image.jpgАргументы функции
workers(обязательный): список строк, идентифицирующих доступные рабочие серверы.url(обязательный): строка, представляющая путь к исходному изображению.resize(опциональный): строка для указания нового размера изображения. Например,90x90,300x300.crop(опциональный): строка для указания метода или области обрезки, например,'center'.
Возвращаемое значение
Функция возвращает:
- Формированный URL с рабочим сервером и параметрами (resize, crop),
- Или исходный
url, если список рабочих серверов пуст.
Установка
Для использования функции в своем проекте установите зависимости и импортируйте модуль:
npm installИли, если используется yarn:
yarn install