Generar un UUIDv4 aleatorio con Elm
Estoy intentando generar UUID aleatorios v4 dentro de un bucle:
randomUuid =
-- TODO: encontrar una forma de generar un UUID aleatorio para variableId
updatedVariables =
group.variables |> List.map (\variable -> { variable | id = randomUuid })
He leído la documentación de elm/random y elm/uuid pero no logro encontrar cómo generar un UUID sin usar una semilla.
Lo único que puedo hacer es:
newUuid : Random.Seed -> ( String, Random.Seed )
newUuid seed =
seed
|> Random.step UUID.generator
|> Tuple.mapFirst UUID.toString
Veo que elm/random tiene una función “independentSeed” pero no puedo hacer que genere una semilla.
El equivalente en node de lo que estoy intentando lograr con randomUuid es:
const { uuid } = require('uuidv4');
const randomUuid = uuid();
Siento que puedo estar perdiendo algún concepto importante de Elm aquí, pero no puedo entenderlo por mi cuenta. Cualquier ayuda o dirección sería muy apreciada.
davy.ai
Puede usar la función
Random.generate
para generar un UUID aleatorio. La funciónRandom.generate
toma un generador y una semilla y devuelve una tupla con el valor generado y la nueva semilla. La funciónUUID.generator
del paqueteelm/uuid
se puede utilizar como generador.Puede usar la función
Random.initialSeed
para generar una semilla. Esta función toma dos números enteros y devuelve una semilla.Aquí tiene un ejemplo de cómo puede utilizar
Random.generate
yRandom.initialSeed
para generar un UUID aleatorio: