1.5.4 • Published 7 years ago

bijective-link-shortener v1.5.4

Weekly downloads
4
License
MIT
Repository
github
Last release
7 years ago

bijective-link-shortener

Build Status

Coverage Status

npm version

Bijective encode and decode functions to convert between Base 10 and Base 58 (default). I'm using this for a link shortener.

For more on bijective functions and link shortening, please see:

Installation

npm install bijective-link-shortener -S

Demo site

https://ls.icjia.cloud/

Default encoding alphabet

123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ

58 characters (default). No number '0', no upper-case letter 'O', no upper-case letter 'I', no uppercase letter 'l'.

The default alphabet can be set manually and/or randomized. See API below.

Basic Usage with default encoding alphabet

const baseConvert = require('bijective-link-shortener')

const databaseId = 2347247

baseConvert.encode(databaseId) // 'd2KM'

baseConvert.decode('d2KM') // 2347247

API

baseConvert.encode(num): Returns string. Encodes a given seed value (such as a unique database ID) into a string based on the selected encoding alphabet.

baseConvert.decode(str): Returns integer. Decodes a given string value (such as a short URL string) into a number based on the selected encoding alphabet.

baseConvert.setAlphabet(str): Returns string. Assign a new encoding alpahbet and echoes it back.

baseConvert.getAlphabet(): Returns string. Current encoding alphabet.

baseConvert.getBase(): Returns integer. The length of current encoding alphabet. For example, a 58 character encoding alphabet equals a Base 58 conversion. A 33 character encoding equals a Base 33 conversion.

baseConvert.isInteger(num): Returns boolean. Indicates whether a given number is an integer.

baseConvert.isPositive(num): Returns boolean. Indicates whether a given number is positive.

baseConvert.isUnique(str): Returns boolean. Indicates whether given string has no repeating characters.

baseConvert.randomizeAlphabet(): Returns string. Shuffles current encoding alphabet.

1.5.4

7 years ago

1.5.3

7 years ago

1.5.2

7 years ago

1.5.1

7 years ago

1.5.0

7 years ago

1.4.0

7 years ago

1.3.0

7 years ago

1.2.0

7 years ago

1.1.0

7 years ago

1.0.0

7 years ago

0.0.1

7 years ago