Skip to content

jetstyle/js-zip-numbers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zip-numbers

Алгоритмы сжатия списков чисел для передачи в текстовом виде. В реализацию входят парсер строк и поле для django-rest-framework.

Поддерживаются 2 способа сжатия: диапазоны с выносом за скобку и дельта-строки.

Информация

  1. Сжимает строку по одному из двух способов сжатия, который можно выбрать:

    1. диапазоны с выносом за скобку
    2. дельта-строки
  2. Разжимает строку, сжатую по одному из двух алгоритмов.

Установка

$ npm install zip-numbers

Примеры

Encode:

const zip = require('zip-numbers');

zip.encode([1,3,6]);
//=> '1(0,2,5)'

zip.encode([1,3,6], zip.constants.MODE_SIMPLE_STRING);
//=> '1(0,2,5)'

zip.encode([1,3,6], zip.constants.MODE_DELTA_STRING);
//=> '~.123'

Decode:

const zip = require('zip-numbers');

zip.decode('1(0,2,5)');
//=> [1, 3, 6]

zip.decode('~.123');
//=> [1, 3, 6]

Functions

encode(tokens, [mode])string

Encodes an array of tokens into a string.

decode(string)Array.<number>

Decodes a string into an array of tokens.

encode(tokens, [mode]) ⇒ string

Encodes an array of tokens into a string.

Returns: string - Encoded string.

Param Type Default Description
tokens Array.<number> Array of tokens.
[mode] number MODE_SIMPLE_STRING Mode: MODE_SIMPLE_STRING or MODE_DELTA_STRING. See: zip.constants

decode(string) ⇒ Array.<number>

Decodes a string into an array of tokens.

Returns: Array.<number> - Array of tokens.

Param Type Description
string string Encoded string.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published