aslug
TypeScript icon, indicating that this package has built-in type declarations

0.5.0 • Public • Published

aslug

Version Vulnerabilities License Types

A lossless slug that preserves uniqueness.

Install

npm install aslug

Features

An example use case for aslug would be a set of ids that have to be made safe for some character set, while maintaining readability and ensuring they won't conflict with other valid ids. Hence, aslug:

  • Produces a readable, lossless, encoding.
  • Includes a decoder to recover the original string.
  • Allows the character set to be modified via options.

Usage

new Slug(alphabet?: string | null, options?: Slug.Options)

The Slug class optionally takes an alphabet string and an options object.

  • alphabet defaults to: '0123456789ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-'
  • options fields include:
    • A separator to be used between the readable string and the payload. Defaults to '.'.
    • A map function to determine the strategy to use when replacing characters with a string within alphabet -otherwise an empty string. It can be used to remove diacritics, leave empty, or any other alternative. Defaults to replacing characters for their ASCII equivalent, if in alphabet.

Simple example

import { Slug } from 'aslug';

const slug = new Slug();

slug.encode('string w/ special chars'); // string-w-special-chars.EjhdB6y8T2PsDU0e6zUv
slug.decode('string-w-special-chars.EjhdB6y8T2PsDU0e6zUv'); // string w/ special chars

Package Sidebar

Install

npm i aslug

Weekly Downloads

16

Version

0.5.0

License

MIT

Unpacked Size

17.9 kB

Total Files

6

Last publish

Collaborators

  • rafamel