// Authors: Robert Lopez
use crate::error::{format_error, WasmCssError};
use web_sys::window;
pub(crate) fn generate_random_identity() -> Result<String, WasmCssError> {
let window = window().ok_or(format_error!("Failed to obtain Window object"))?;
let crypto = window
.crypto()
.map_err(|_| format_error!("Failed to obtain Crypto object"))?;
let mut uuid = crypto.random_uuid();
unsafe {
uuid.as_bytes_mut()[0] = b'z';
}
Ok(uuid)
}