UNPKG

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
(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; }));