Generacion de UUID
Generacion de UUID
Sección titulada «Generacion de UUID»Generar identificadores unicos universales. Adaptado para workflows - los UUIDs aleatorios devuelven valores consistentes en replay.
local uuid = require("uuid")UUIDs Aleatorios
Sección titulada «UUIDs Aleatorios»Versión 1
Sección titulada «Versión 1»UUID basado en tiempo con marca de tiempo e ID de nodo.
local id, err = uuid.v1()Devuelve: string, error
Versión 4
Sección titulada «Versión 4»UUID aleatorio.
local id, err = uuid.v4()Devuelve: string, error
Versión 7
Sección titulada «Versión 7»UUID ordenado por tiempo. Ordenable por tiempo de creacion.
local id, err = uuid.v7()Devuelve: string, error
UUIDs Deterministicos
Sección titulada «UUIDs Deterministicos»Versión 3
Sección titulada «Versión 3»UUID deterministico desde namespace y nombre usando MD5.
local id, err = uuid.v3(namespace, name)| Parámetro | Tipo | Descripción |
|---|---|---|
namespace | string | String UUID valido |
name | string | Valor a hashear |
Devuelve: string, error
Versión 5
Sección titulada «Versión 5»UUID deterministico desde namespace y nombre usando SHA-1.
local NS_URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"local id, err = uuid.v5(NS_URL, "https://example.com/resource")| Parámetro | Tipo | Descripción |
|---|---|---|
namespace | string | String UUID valido |
name | string | Valor a hashear |
Devuelve: string, error
Inspeccion
Sección titulada «Inspeccion»Validar
Sección titulada «Validar»local valid = uuid.validate(input)| Parámetro | Tipo | Descripción |
|---|---|---|
input | any | Valor a verificar |
Devuelve: boolean, error
Obtener Versión
Sección titulada «Obtener Versión»local ver, err = uuid.versión(id)| Parámetro | Tipo | Descripción |
|---|---|---|
uuid | string | String UUID valido |
Devuelve: integer, error
Obtener Variante
Sección titulada «Obtener Variante»local var, err = uuid.variant(id)| Parámetro | Tipo | Descripción |
|---|---|---|
uuid | string | String UUID valido |
Devuelve: string, error (RFC4122, Reserved, Microsoft, Future, NCS, o Invalid)
Parsear
Sección titulada «Parsear»local info, err = uuid.parse(id)| Parámetro | Tipo | Descripción |
|---|---|---|
uuid | string | String UUID valido |
Devuelve: table, error
Campos de tabla devuelta:
versión(integer): Versión UUID (1, 3, 4, 5, o 7)variant(string): RFC4122, Reserved, Microsoft, Future, NCS, o Invalidtimestamp(integer): Marca de tiempo Unix (solo v1 y v7)node(string): ID de nodo (solo v1)
Formatear
Sección titulada «Formatear»local formatted, err = uuid.format(id, "standard")local formatted, err = uuid.format(id, "simple")local formatted, err = uuid.format(id, "urn")| Parámetro | Tipo | Descripción |
|---|---|---|
uuid | string | String UUID valido |
format | string? | standard (predeterminado), simple, o urn |
Devuelve: string, error
Errores
Sección titulada «Errores»| Condición | Tipo | Reintentable |
|---|---|---|
| Tipo de entrada invalido | errors.INVALID | no |
| Formato UUID invalido | errors.INVALID | no |
| Tipo de formato no soportado | errors.INVALID | no |
| Generacion fallida | errors.INTERNAL | no |
Consulte Manejo de Errores para trabajar con errores.