UNPKG

idgenie

Version:

A magical and flexible ID generator with support for unique IDs, date/time, prefixes, suffixes, and more.

3 lines (2 loc) 2.34 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("crypto")):"function"==typeof define&&define.amd?define(["exports","crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).idgenie={},e.crypto)}(this,function(e,t){"use strict";function o(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(o){if("default"!==o){var r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,r.get?r:{enumerable:!0,get:function(){return e[o]}})}}),t.default=e,Object.freeze(t)}var r=o(t),i=0;e.uniqueId=function(e){void 0===e&&(e={});var t=e.length,o=void 0===t?8:t,n=e.randomLength,a=void 0!==n&&n,d=e.prefix,c=void 0===d?"":d,u=e.suffix,f=void 0===u?"":u,x=e.includeDate,l=void 0!==x&&x,v=e.includeTime,p=void 0!==v&&v,m=e.dateLocale,s=void 0===m?"en-IN":m,g=e.timeLocale,h=void 0===g?"en-IN":g,y=e.dateFormatOptions,b=e.timeFormatOptions,O=e.alphabet,j=void 0===O?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789":O,w=e.casing,D=void 0===w?"mixed":w,M=e.separator,L=void 0===M?"":M,I=e.secure,S=void 0!==I&&I,T=e.mode,U=void 0===T?"random":T,z=e.counter,A=void 0!==z&&z,F=e.timestamp,N=void 0!==F&&F;if("uuid"===U)return function(){if(void 0!==r&&r.randomUUID)return r.randomUUID();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}();if("number"!=typeof o||o<=0||!Number.isFinite(o))throw new TypeError('"length" must be a positive number. Received: '.concat(o));var P=a?Math.floor(29*Math.random())+8:o,_=S?function(e,t){for(var o=r.randomBytes(t),i="",n=0;n<t;n++)i+=e[o[n]%e.length];return i}(j,P):function(e,t){for(var o="",r=0;r<t;r++)o+=e.charAt(Math.floor(Math.random()*e.length));return o}(j,P),q=_;"lower"===D?q=_.toLowerCase():"upper"===D&&(q=_.toUpperCase());var C="";if(N)C=Date.now().toString();else{var E=new Date;if(l){C+=E.toLocaleDateString(s,y||{year:"numeric",month:"2-digit",day:"2-digit"}).replace(/[^a-zA-Z0-9]/g,L)}if(p){C+=L+E.toLocaleTimeString(h,b||{hour:"2-digit",minute:"2-digit",second:"2-digit"}).replace(/[^a-zA-Z0-9]/g,L)}}var Z="";return A&&(Z=(i++).toString()),"".concat(c).concat(q).concat(C?C+L:"").concat(Z).concat(f)},Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=idgenie.umd.min.js.map