@jsweb/randkey
TypeScript icon, indicating that this package has built-in type declarations

4.1.5 • Public • Published

@jsweb/randkey

Simple JS module to generate random id/key/hash in various formats, including UUID.

See tests at https://randkey.jsweb.app

package-npm module-es tests-ava


Installation

You can install it with NPM, Yarn or get from Unpkg CDN:

npm i -S @jsweb/randkey

yarn add @jsweb/randkey

pnpm add @jsweb/randkey

Unpkg CDN: https://unpkg.com/@jsweb/randkey

Usage

@jsweb/randkey is a full ES module, there is no UMD or CommonJS versions.

ES modules are the pattern in modern JS development, already natively supported by newer versions of Node.js and modern browsers.

Backward compatibility is not a concern here. If you use a module bundler (like Webpack or Rollup) to transpile your code, the result will be compatible according to your setup.

ES6

Tree shaking:

import { id16, uuid, ... } from '@jsweb/randkey'

From Unpkg CDN (installation not required)

<script type="module">
  import { uuid } from 'https://unpkg.com/@jsweb/randkey'

  const key = uuid()
</script>

Methods

rand(radix = 10, limit = 40)

Generates a random number as string with optional radix and size limit.

The radix parameter can be a number from 2 to 36. Default is 10, which generates base 10 random numbers.

The limit size parameter can be a number from 1 to 40. Default is 40, which is the bigger possible.

Keep in mind that radix can automatic limit the result max size.

import { rand } from '@jsweb/randkey'

rand()
// > '555847878175'

rand(2)
// > '1001010000010000000001111111010100000110'

rand(8)
// > '2036103777231'

rand(16)
// > '12a82628ee7'

rand(32)
// > '18vq5b2hq'

rand(36)
// > 'fdqlsnvb'

hex(limit = 11)

Generates a random hexadecimal number as string with optional custom size limit.

Size limit must be from 1 to 11. Default is 11, which is the bigger possible.

It is just an alias for rand(16, limit).

import { hex } from '@jsweb/randkey'

hex(6) // > 'f9c1d0'

id4()

Generates a random ID with 4 hexadecimal digits. It is just an alias for hex(4).

import { id4 } from '@jsweb/randkey'

id4() // > 'f9c1'

id8()

Generates a random ID with 8 hexadecimal digits. It is just an alias for hex(8).

import { id8 } from '@jsweb/randkey'

id8() // > 'bf9c61ed'

id16()

Generates a random ID with 16 hexadecimal digits.

import { id16 } from '@jsweb/randkey'

id16() // > '6c1f3ac8e0ba611d'

id32()

Generates a random ID with 32 hexadecimal digits.

import { id32 } from '@jsweb/randkey'

id32() // > 'f17e3ac8e0ba925a61ed19016c1f2eb0'

id64()

Generates a random ID with 64 hexadecimal digits.

import { id64 } from '@jsweb/randkey'

id64() // > 'f17e3ac8e0ba925a61ed19016c1f2eb0f17e3ac8e0ba925a61ed19016c1f2eb0'

uuid()

Generates a valid UUID v4 (RFC 4122 compilant).

import { uuid } from '@jsweb/randkey'

uuid() // > 'c30663ff-a2d3-4e5d-b377-9e561e8e599b'

puid()

Generates a random 5x5 ID with base2 progressive radix per block.

import { puid } from '@jsweb/randkey'

puid() // > 10100-13110-42720-98222-13prn

ruid(radix = 10)

Generates a random 5x5 ID using a common radix for all blocks using rand(radix, 5).

The radix parameter can be a number from 2 to 36. Default is 10, which generates base 10 random blocks.

import { ruid } from '@jsweb/randkey'

ruid(8) // > 15124-22432-17325-45517-15522

huid()

Generates a random 5x5 ID with hexadecimal blocks.

It is just an alias for ruid(16).

import { huid } from '@jsweb/randkey'

huid() // > d74b8-124e7-15854-15c73-82909

wuid()

Generates a random 5x5 ID with alphanumerical blocks, like Windows Product Key.

It is just an alias for ruid(36).

import { wuid } from '@jsweb/randkey'

wuid() // > 7wuiu-e4fw7-ari12-3z50r-iv04x

Readme

Keywords

Package Sidebar

Install

npm i @jsweb/randkey

Weekly Downloads

8

Version

4.1.5

License

MIT

Unpacked Size

12.5 kB

Total Files

7

Last publish

Collaborators

  • alexbruno