Socket
Socket
Sign inDemoInstall

@chronark/prefixed-id

Package Overview
Dependencies
0
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @chronark/prefixed-id

@chronark/prefixed-id pre_JUbF9zRGz9hrFXUyNJLXcowD9GsqCD


Version published
Weekly downloads
76
increased by38.18%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

@chronark/prefixed-id

pre_JUbF9zRGz9hrFXUyNJLXcowD9GsqCD

A minimal library to generate Stripe inspired predixed ids for your application. Prefixed ids look like this: pre_JUbF9zRGz9hrFXUyNJLXcowD9GsqCD. They can be very useful if you have different entities and want to quickly identify them.

Generated ids rely on the provided crypto implementation. If you use either window.crypto or crypto from "node:crypto", the ids will be cryptographically secure.

Works in

  • Nodejs
  • Cloudflare Workers
  • Vercel Edge

Install

npm i @chronark/prefixed-id

Usage

Nodejs


import nodeCrypto from "node:crypto"

const idGenerator = new IdGenerator({
    prefixes: {
        "user": "u",
    },
    crypto: nodeCrypto
})

console.log(idGenerator.id("user"))
// u_PtbBA7NGcYYDpae6ULWujk

WebCrypto

  • Cloudflare Workers
  • Vercel Edge
const idGenerator = new IdGenerator({
    prefixes: {
        "user": "u",
    },
    crypto: crypto // will be globally defined
})

console.log(idGenerator.id("user"))
// u_PtbBA7NGcYYDpae6ULWujk

Options

You may pass these options to the constructor to customize the id generation.

{
	/**
	 *
	 * @default "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
	 */
	alphabet?: string;

	/**
	 * Either window.crypto or crypto from node
	 *
	 * @default window?.crypto
	 */
	crypto?: Crypto;

	/**
	 * Byte size of the generated id
	 */
	size?: number;
};

FAQs

Last updated on 10 Dec 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