{"version":3,"file":"stringify.cjs","names":["validate"],"sources":["../../../src/utils/uuid/stringify.ts"],"sourcesContent":["import validate from \"./validate.js\";\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex: string[] = [];\n\nfor (let i = 0; i < 256; ++i) {\n  byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr: Uint8Array, offset = 0): string {\n  // Note: Be careful editing this code!  It's been tuned for performance\n  // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n  //\n  // Note to future-self: No, you can't remove the `toLowerCase()` call.\n  // REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351\n  return (\n    byteToHex[arr[offset + 0]] +\n    byteToHex[arr[offset + 1]] +\n    byteToHex[arr[offset + 2]] +\n    byteToHex[arr[offset + 3]] +\n    \"-\" +\n    byteToHex[arr[offset + 4]] +\n    byteToHex[arr[offset + 5]] +\n    \"-\" +\n    byteToHex[arr[offset + 6]] +\n    byteToHex[arr[offset + 7]] +\n    \"-\" +\n    byteToHex[arr[offset + 8]] +\n    byteToHex[arr[offset + 9]] +\n    \"-\" +\n    byteToHex[arr[offset + 10]] +\n    byteToHex[arr[offset + 11]] +\n    byteToHex[arr[offset + 12]] +\n    byteToHex[arr[offset + 13]] +\n    byteToHex[arr[offset + 14]] +\n    byteToHex[arr[offset + 15]]\n  ).toLowerCase();\n}\n\nfunction stringify(arr: Uint8Array, offset = 0) {\n  const uuid = unsafeStringify(arr, offset);\n\n  // Consistency check for valid UUID.  If this throws, it's likely due to one\n  // of the following:\n  // - One or more input array values don't map to a hex octet (leading to\n  // \"undefined\" in the uuid)\n  // - Invalid input values for the RFC `version` or `variant` fields\n  if (!validate(uuid)) {\n    throw TypeError(\"Stringified UUID is invalid\");\n  }\n\n  return uuid;\n}\n\nexport default stringify;\n"],"mappings":";;;;;;AAMA,MAAM,YAAsB,EAAE;AAE9B,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,EAAE,EACzB,WAAU,MAAM,IAAI,KAAO,SAAS,GAAG,CAAC,MAAM,EAAE,CAAC;AAGnD,SAAgB,gBAAgB,KAAiB,SAAS,GAAW;AAMnE,SACE,UAAU,IAAI,SAAS,MACvB,UAAU,IAAI,SAAS,MACvB,UAAU,IAAI,SAAS,MACvB,UAAU,IAAI,SAAS,MACvB,MACA,UAAU,IAAI,SAAS,MACvB,UAAU,IAAI,SAAS,MACvB,MACA,UAAU,IAAI,SAAS,MACvB,UAAU,IAAI,SAAS,MACvB,MACA,UAAU,IAAI,SAAS,MACvB,UAAU,IAAI,SAAS,MACvB,MACA,UAAU,IAAI,SAAS,OACvB,UAAU,IAAI,SAAS,OACvB,UAAU,IAAI,SAAS,OACvB,UAAU,IAAI,SAAS,OACvB,UAAU,IAAI,SAAS,OACvB,UAAU,IAAI,SAAS,MACvB,aAAa;;AAGjB,SAAS,UAAU,KAAiB,SAAS,GAAG;CAC9C,MAAM,OAAO,gBAAgB,KAAK,OAAO;AAOzC,KAAI,CAACA,iBAAAA,QAAS,KAAK,CACjB,OAAM,UAAU,8BAA8B;AAGhD,QAAO"}