{"version":3,"sources":["../../../../src/functions/generate-uuid/generate-uuid.ts"],"sourcesContent":["export const generateUUID = (limit?: number): string => {\n  // if limit is 0, return an empty string (why would you do this?)\n  if (limit === 0) {\n    return \"\";\n  }\n\n  // Generate a random array of 16 bytes (128 bits)\n  const randomBytes = new Uint8Array(16);\n  crypto.getRandomValues(randomBytes);\n\n  // Set version (4) and variant (10) bits\n  randomBytes[6] = (randomBytes[6] & 0x0f) | 0x40;\n  randomBytes[8] = (randomBytes[8] & 0x3f) | 0x80;\n\n  // Map bytes to hexadecimal and insert hyphens\n  const hexBytes = Array.from(randomBytes, (byte) => byte.toString(16).padStart(2, \"0\"));\n\n  // Join bytes into UUID format\n  const uuid = `${hexBytes.slice(0, 4).join(\"\")}-${hexBytes\n    .slice(4, 6)\n    .join(\"\")}-${hexBytes.slice(6, 8).join(\"\")}-${hexBytes.slice(8, 10).join(\"\")}-${hexBytes.slice(10).join(\"\")}`;\n\n  // Apply the limit if provided\n  return limit ? uuid.slice(0, limit) : uuid;\n};\n"],"mappings":";AAAO,IAAM,eAAe,CAAC,UAA2B;AAEtD,MAAI,UAAU,GAAG;AACf,WAAO;AAAA,EACT;AAGA,QAAM,cAAc,IAAI,WAAW,EAAE;AACrC,SAAO,gBAAgB,WAAW;AAGlC,cAAY,CAAC,IAAK,YAAY,CAAC,IAAI,KAAQ;AAC3C,cAAY,CAAC,IAAK,YAAY,CAAC,IAAI,KAAQ;AAG3C,QAAM,WAAW,MAAM,KAAK,aAAa,CAAC,SAAS,KAAK,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC;AAGrF,QAAM,OAAO,GAAG,SAAS,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,SAC9C,MAAM,GAAG,CAAC,EACV,KAAK,EAAE,CAAC,IAAI,SAAS,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,SAAS,MAAM,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC;AAG7G,SAAO,QAAQ,KAAK,MAAM,GAAG,KAAK,IAAI;AACxC;","names":[]}