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