Socket
Socket
Sign inDemoInstall

@alizeait/uuid

Package Overview
Dependencies
0
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @alizeait/uuid

A fast and tiny RFC compliant uuid v4 generator


Version published
Maintainers
1
Install size
16.5 kB
Created

Readme

Source

@alizeait/uuid Check Coverage

A tiny (~260B) and super fast RFC4122 compliant v4 UUID generator.

Supports both Nodejs and Browser environments while using native cryptography features.

Includes ESM and Commonjs/Nodejs bundles. Allows bundlers like Webpack and Rollup to pick the correct bundle for different environments.

Check out the playground

Installation

$ npm install @alizeait/uuid

Usage

import { v4 } from "@alizeait/uuid";

v4(); //  'dc8c63d6-55e0-49be-9d68-19b0e51be2a6'
v4(); //  'e3f68a1e-d22b-4c94-bc6b-78b44c1608f3'

Benchmarks

uuid/v4               x 1,006,107 ops/sec ±1.04% (82 runs sampled)
@alizeait/uuid        x 4,262,898 ops/sec ±0.98% (87 runs sampled)
nanoid                x 1,779,066 ops/sec ±1.58% (91 runs sampled)


RFC UUID v4 validation:

uuid/v4               ✔
@alizeait/uuid        ✔
nanoid                ✘

Running on Node.js v12.13.0, 64-bit OS, Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz, 16.0 GB RAM

Why is @alizeait/uuid so fast?

It first fills a large(6144 bytes) Uint8Array typed array buffer with cryptographically strong random values using the browser/nodejs crypto API(Meaning that it fills an array buffer randomly with numbers between 0 and 255). It then generates an array of 2 digit hexadecimal numbers(length=256) and starts slicing off chunks from the buffer as needed, meaning that each buffer is able to supply 384 v4 UUID random invocations. When the buffer is all used up, it generates a new one with the crypto APIs and iterates.

This caching mechanism allows for faster composition and generation of the uuids.

Keywords

FAQs

Last updated on 25 Jun 2022

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