gnablib
Version:
A lean, zero dependency library to provide a useful base for your project.
2 lines • 403 B
JavaScript
/*! Copyright 2023-2024 the gnablib contributors MPL-1.1 */
import{sLen as e}from"../safe/safe.js";import{hex as t}from"./Hex.js";export function v4FromBytes(o){let r="";e("UUID bytes",o).atLeast(16).throwNot();let s=0;e:for(const e of o){switch(s++){case 4:case 10:r+="-";break;case 6:r+="-4"+t.fromByte(e);continue;case 8:r+="-"+t.fromByte(63&e|128);continue;case 16:break e}r+=t.fromByte(e)}return r}