npm-shortidx
Version:
Generador de Id aleatorios, Random Id Generator
1 lines • 1.56 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CustomIdx=exports.ShuffleString=exports.IndexShuffle=exports.RepeatIdx=exports.RandomIdx=exports.ShortIdx=exports.ShuffleX=void 0;const ShuffleX=(e,t)=>{if(!Array.isArray(e))throw new TypeError("El parámetro debe ser un array");const r=[...e];for(let e=r.length-1;e>0;e--){const t=Math.floor(Math.random()*(e+1));[r[e],r[t]]=[r[t],r[e]]}const o=void 0!==t?t:e.length;return validateLimit(o,e.length),r.slice(0,o)};exports.ShuffleX=ShuffleX;const validateLimit=(e,t)=>{if(e<1||e>t)throw new Error(`El límite debe estar entre 1 y ${t}`);return e},generateId=(e,t=7)=>{const r=e.length;validateLimit(t,r);const o=e.split("");return(0,exports.ShuffleX)(o,t).join("").slice(0,t)},ShortIdx=(e=7)=>generateId("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_",e);exports.ShortIdx=ShortIdx;const RandomIdx=(e=7)=>generateId("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_!#$%&'()*+,./:;<=>?@[]^`{|}~\"",e);exports.RandomIdx=RandomIdx;const RepeatIdx=(e,t,r)=>{if(e<1)throw new Error("El número de elementos debe ser mayor a 0");return Array.from({length:e},(()=>t(r)))};exports.RepeatIdx=RepeatIdx;const IndexShuffle=e=>{if(e<1)throw new Error("La longitud debe ser mayor a 0");const t=Array.from({length:e},((e,t)=>t));return(0,exports.ShuffleX)(t)};exports.IndexShuffle=IndexShuffle;const ShuffleString=e=>(0,exports.ShuffleX)(e.split("")).join("");exports.ShuffleString=ShuffleString;const CustomIdx=(e,t=7)=>generateId(e,t);exports.CustomIdx=CustomIdx;