otp-number
Version:
> 🔐 A lightweight and flexible JavaScript library to generate random OTPs (One-Time Passwords) for use in both frontend and backend applications.
58 lines (45 loc) • 1.71 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.OtpGenerator = factory());
})(this, (function () { 'use strict';
function getDefaultExportFromCjs (x) {
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
}
var otpNumber;
var hasRequiredOtpNumber;
function requireOtpNumber () {
if (hasRequiredOtpNumber) return otpNumber;
hasRequiredOtpNumber = 1;
function otp_number(
length = 6,
options = { digits: true, upperCase: false, lowerCase: false }
) {
const sets = {
digits: "0123456789",
upperCase: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
lowerCase: "abcdefghijklmnopqrstuvwxyz",
};
let characters = "";
if (options.digits) characters += sets.digits;
if (options.upperCase) characters += sets.upperCase;
if (options.lowerCase) characters += sets.lowerCase;
if (!characters)
throw new Error("At least one character set must be enabled.");
let otp = "";
for (let i = 0; i < length; i++) {
otp += characters.charAt(Math.floor(Math.random() * characters.length));
}
return otp;
}
// 👇 New helper for numeric-only OTPs
function otp_number_only(length = 6) {
return otp_number(length, { digits: true });
}
otpNumber = { otp_number, otp_number_only };
return otpNumber;
}
var otpNumberExports = requireOtpNumber();
var index = /*@__PURE__*/getDefaultExportFromCjs(otpNumberExports);
return index;
}));