Welcome! This node package is built for generating OTP per necessary requirements. It can generate both numeric or alpha-numeric. Hope you will enjoy it!
It can be used with NodeJS runtime and Deno/Bun too! (I guess)
Install this package
npm i @mx7/otp # using NPM
# or
yarn add @mx7/top # using yarn
# or
pnpm add @mx7/otp # using pnpm
# or
bun add otp # using bun
ESM imports
import { generateOtp } from '@mx7/otp'
// or async way
import { generateOtpAsync } from '@mx7/otp'
CommonJS
const { generateOtp } = require('@mx7/otp')
// or async way
const { generateOtpAsync } = require('@mx7/otp')
Node: v14.x or later
Environments: ['^ Node14', 'ES5 or later']
Types: ['ESM', 'CJS']
Types
// how the function will operates
function generateOtp(args?: GenerateOtpArgs): string
// arguments with types
type GenerateOtpArgs = {
digits?: number // optional
alpha?: boolean // optional
capitalize?: boolean // optional, but only if alpha is set TRUE!
}
Some examples
import { generateOtp } from '@mx7/otp'
// default => length 6
const otp1 = generateOtp()
console.log(otp1) // returns: '012345'
// default with Async. way => length 6
const otpAsync = await generateOtpAsync() // Promise<string>
console.log(otpAsync) // returns: '012345'
// custom length => i.e. 4
const otp2 = generateOtp({
digits: 4,
})
console.log(otp2) // returns: '0123'
// mix alpha => mixed [a-z]
const otp3 = generateOtp({
alpha: true,
})
console.log(otp3) // returns: '0x27j4'
// mix alpha & uppercase => mixed [A-Z]
const otp4 = generateOtp({
alpha: true,
capitalize: true,
})
console.log(otp4) // returns: '0X27J4'
- Fixed async OTP generator function
- Added one more test with async fn
- Added
Asynchronous
function for generating OTP - Added Module path aliases
- Added changelogs
- Updated documentation in README file
- Fixed some typos
- Fixed npm files selection