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

2.0.3 • Public • Published

uuid-basex

npm version Release

Base-XX UUID Encoder / Decoder

Overview

uuid-basex makes it easy to generate short uuid string with any encoding and encode or decode existing UUIDs. For example Base64 (url safe) or any other combination of characters. UUID generation if you use it is done by uuid.

uuid-basex began as a fork of shanehughes3's uuid62 which began as a fork of dmarcelino's uuid-base62. It rewritten in typescript and forgoes global scope. Additionally it provides ESM and commonjs exports. Time marches on doesn't it?

Installation

npm i uuid-basex

Usage

import { UUIDBaseX } from 'uuid-basex'

const uuidx = UUIDBaseX.urlSafe()
const encodedUUID = uuid.v4()
// -> G8vYZyitbW9tM_dIpBPZN

// decode a urlsafe (base64) uuid
const decodedUUID = uuidx.toUUID(encodedUUID)
// -> 2a21ff3d-8927-4be8-9770-fcdb19973f71

// urlsafe encode an existing traditional uuid
uuidx.fromUUID('2a21ff3d-8927-4be8-9770-fcdb19973f71')
// -> G8vYZyitbW9tM_dIpBPZN

// Custom dictionaries
new UUIDBaseX('ABCEFG123456').v4()
// -> F63EF42CE4E524C5GF16FG41BE3EB1FAGE36

// Because sometimes you just have to scream
const uuidAAAAAAAAA = new UUIDBaseX('aA_!')
const aAAaaUUID = uuidAAAAAAAAA.v4()
// ->  AA_!!!A!AaAA___!a!AAAAa!Aa_!!!aa__aa!_AaA___a!_!_A__!_Aa_aaAaaA!
const decodedAAA = uuidAAAAAAAAA.toUUID(aAAaaUUID)
// -> 5bf745ab-3553-4bf0-a0e4-6a3b9ae48107

API

Checkout our docs!

How does it work?

We use base-x for the conversions under the hood. And for the v4() method we use uuid the defacto standard for making uuids. If you want other uuid versions make them with uuid and pass them to the fromUUID() method because it will be a lot easier to reason about doing that, then trying to understand if you're passing a converted uuid into the arguments or not.

License

MIT

Package Sidebar

Install

npm i uuid-basex

Weekly Downloads

1

Version

2.0.3

License

MIT

Unpacked Size

315 kB

Total Files

16

Last publish

Collaborators

  • reconbot