OpenHub
OpenHub
Войти

compressorпакет

с апстрима
автор: Dmitry Ivanovскачиваний: 6

Пакет лежит в основном пуле хаба: короткой формы достаточно, если хаб прописан сервером пакетов в opm.cfg.

opm install compressor

Установка на opm младше 1.7.0

Легаси-флоу. Клиент младше 1.7.0 адрес пула в аргументе не разбирает: пул сначала прописывают сервером пакетов, и только потом ставят через него. На 1.7.0 и новее этот раздел не нужен — хватает команды из шапки страницы.

Добавьте пул сервером пакетов в opm.cfg. Порт продублирован в «Сервер»: у opm push поле «Порт» не читается.

{ "СервераПакетов": [ { "Имя": "default", "Сервер": "https://hub.1cdevelopers.ru", "Порт": 443, "ПутьНаСервере": "/api/v1/pools/default/download/", "РесурсПубликацииПакетов": "/api/v1/pools/default/push", "Приоритет": 1 } ] }

И ставьте пакет, указывая сервер:

opm install -m default compressor

Описание

compressor

Библиотека для сжатия и распаковки данных в среде OneScript, поддерживающая алгоритмы LZ4, Snappy, Zstd, Brotli, GZip, ZLib и Deflate.

Реализовано с использованием .NET библиотек EasyCompressor и BrotliSharpLib.

Установка

Для установки библиотеки используйте команду:

opm install compressor

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

Подробное описание программного интерфейса можно найти в документации.

#Использовать compressor

// Примеры упаковки данных
Процедура Упаковать()

  Компрессор = Новый GZipКомпрессор();
            // Новый DeflateКомпрессор();
            // Новый BrotliКомпрессор();
            // Новый LZ4Компрессор();
            // Новый ZLibКомпрессор();
            // Новый ZstdКомпрессор();
            // Новый SnappyКомпрессор();

  // 1. Сжимаем двоичные данные и получаем результат
  УпакованныеДанные = Компрессор.Упаковать(ДвоичныеДанные);
  
  // 2. Сжимаем двоичные данные и записываем в исходящий поток
  Компрессор.Упаковать(ДвоичныеДанные, ИсходящийПоток);
  
  // 3. Сжимаем данные из входящего потока и записываем в исходящий поток
  Компрессор.Упаковать(ВходящийПоток, ИсходящийПоток);
  
  // 4. Сжимаем данные из входящего потока и получаем двоичные данные
  УпакованныеДанные = Компрессор.Упаковать(ВходящийПоток);

КонецПроцедуры

// Примеры распаковки данных
Процедура Распаковать()

  Компрессор = Новый GZipКомпрессор();

  // 1. Распаковываем двоичные данные и получаем результат
  РаспакованныеДанные = Компрессор.Распаковать(ДвоичныеДанные);
  
  // 2. Распаковываем двоичные данные и записываем в исходящий поток
  Компрессор.Распаковать(ДвоичныеДанные, ИсходящийПоток);
  
  // 3. Распаковываем данные из входящего потока и записываем в исходящий поток
  Компрессор.Распаковать(ВходящийПоток, ИсходящийПоток);
  
  // 4. Распаковываем данные из входящего потока и получаем двоичные данные
  РаспакованныеДанные = Компрессор.Распаковать(ВходящийПоток);

КонецПроцедуры

Совместимость

Библиотека протестирована и совместима с различными версиями OneScript на платформах Windows, Linux и MacOS:

Библиотеки алгоритмов

В таблице ниже приведены используемые .NET библиотеки для каждого алгоритма сжатия в зависимости от версии OneScript: