Socket
Socket
Sign inDemoInstall

uuid62

Package Overview
Dependencies
6
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    uuid62

Base-62 UUID generator


Version published
Weekly downloads
4.6K
decreased by-7.71%
Maintainers
1
Install size
278 kB
Created
Weekly downloads
 

Readme

Source

uuid62

npm version CircleCI Dependency Status Known Vulnerabilities

Base-62 UUID generator

Overview

uuid62 makes it easy to generate short base-62 (or any other base) UUIDs. ID generation is done by uuid which follows RFC4122. The encoded UUIDs are alphanumeric [0-9a-zA-Z] and always have a length of 22 chars.

uuid62 began as a fork of dmarcelino's uuid-base62. It provides updated dependencies and more features above that package. uuid62 is designed to be a drop-in replacement for uuid-base62, however, so migration should be trivial.

Installation

npm i uuid62

Usage

const uuid62 = require('uuid62');

const uuid = uuid62.v4();
// -> 2qY9COoAhfMrsH7mCyh86T

// decode a base-62 uuid
const originalUUID = uuid62.decode(uuid);
// -> 9af099b2-6244-4fc1-b72b-1d69a24481b7

// base-62 encode an existing traditional uuid
const encoded = uuid62.encode('8fc60e7c-3b3c-48e9-a6a7-a5fe4f1fbc31');
// -> 2fNwVYePN8WqqDFvVf7XMN

API

uuid62 is essentially a wrapper around uuid. All optional parameters specified in uuid's API can also be provided here. Note that any buffer that would be returned by uuid will be converted into a base-62 string representation by this library.

v1 (timestamp-based)

uuid62.v1()

Returns a string. See uuid for optional parameters to specify timestamp and node id.

v4 (random)

uuid62.v4()

Returns a string.

v5 (namespace)

uuid62.v5(<name>, <namespace>)

Returns a string. Requires:

  • name - a string or array
  • namespace - a string or buffer representing a uuid. String representation may be conventional or base-62. Two pre-defined namespaces are exposed at uuid62.DNS and uuid62.URL.

Examples:

let id = uuid62.v5('https://google.com', uuid62.URL);

id = uuid62.v5('google.com' uuid62.DNS);

const myNS = uuid62.v4();
id = uuid62.v5('foobar', myNS);

Encoding/decoding

uuid62.encode(<id>, <encoding>)

Returns a string representing a base-62 id. Takes:

  • id - a string or array representing a conventional uuid
  • encoding - an optional string specifying the encoding of the input id. Defaults to hex.

If the input id is of the incorrect length, the output will be padded with 0 on the left or trimmed from the left.

uuid62.decode(<id>, <encoding>)

Returns a string representing a conventional uuid, including dashes. Takes:

  • id - a string representing a base-62 uuid
  • encoding - an optional string specifying the encoding of the output id. Defaults to hex.

If the input id is of the incorrect length, it will be padded with 0 on the left or trimmed from the left before decoding.

Other bases

uuid62 can support other bases by assigning a new baseX charset to customBase:

uuid62.customBase = new uuid62.baseX("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_");
const uuid = uuid62.v4();
// -> 31LoSI_BVeQpXtwu_-GEbL

License

MIT

Keywords

FAQs

Last updated on 03 Dec 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc