New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

uuid62

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

uuid62

Base-62 UUID generator

  • 1.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
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

Package last updated on 03 Dec 2021

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc