Generate Nanoids in Typescript

Resources  |  Generate Nanoids in Typescript

Generating a Nanoid in TypeScript can be accomplished using the nanoid package, which is a lightweight and secure unique ID generator. Below is a step-by-step guide on how to install the package and generate Nanoids in TypeScript.

Step-by-Step Guide

1. Install the Nanoid Package

First, you need to install the nanoid package. If you are using npm, you can install it with the following command:

npm install nanoid

If you are using Yarn, you can install it with:

yarn add nanoid

2. Generate Nanoid

Here is an example of how to generate a Nanoid in TypeScript:

import { nanoid, customAlphabet } from 'nanoid';

// Generate a Nanoid with the default length (21 characters)
const defaultNanoid = nanoid();
console.log("Generated Nanoid:", defaultNanoid);

// Generate a Nanoid with a custom length
const customLength = 10;
const customLengthNanoid = nanoid(customLength);
console.log("Generated custom length Nanoid:", customLengthNanoid);

// Generate a Nanoid with a custom alphabet
const customAlphabetStr = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_';
const customNanoid = customAlphabet(customAlphabetStr, 21);
const customAlphabetNanoid = customNanoid();
console.log("Generated custom alphabet Nanoid:", customAlphabetNanoid);

Explanation

  1. Importing the Library:

    • The nanoid and customAlphabet functions are imported from the nanoid package.
  2. Generating a Default Nanoid:

    • nanoid() generates a Nanoid with the default length of 21 characters. The generated Nanoid is printed to the console.
  3. Generating a Custom Length Nanoid:

    • nanoid(customLength) generates a Nanoid with a specified length (in this case, 10 characters). The custom length Nanoid is printed to the console.
  4. Generating a Custom Alphabet Nanoid:

    • customAlphabet(customAlphabetStr, 21) creates a function that generates Nanoids using a custom alphabet and a specified length (in this case, 21 characters). The custom alphabet Nanoid is printed to the console.

Running the Code

  1. Save the code to a file, for example, nanoid-example.ts.
  2. Ensure you have installed the nanoid package.
  3. Compile and run the TypeScript file:
tsc nanoid-example.ts
node nanoid-example.js

Output

The output will be something like:

Generated Nanoid: V1StGXR8_Z5jdHi6B-myT
Generated custom length Nanoid: V1StGXR8_Z
Generated custom alphabet Nanoid: XyZ1StGXR8_Z5jdHi6B-9A

Customization

  • Alphabet: Modify the customAlphabetStr string if you need a different set of characters.
  • Length: Change the customLength or the length parameter in the nanoid or customAlphabet function to generate Nanoids of different lengths.

Considerations

  • Randomness: The nanoid package uses a secure random number generator to ensure the uniqueness and security of the generated Nanoids.
  • Performance: The nanoid package is designed to be efficient and fast, suitable for generating a large number of unique identifiers quickly.

By following this guide, you can easily generate secure and unique Nanoids in TypeScript for use in your applications.