Pular para o conteúdo

Geração de UUID

Gere identificadores unicos universais. Adaptado para workflows - UUIDs aleatorios retornam valores consistentes em replay.

local uuid = require("uuid")

UUID baseado em tempo com timestamp e node ID.

local id, err = uuid.v1()

Retorna: string, error

UUID aleatorio.

local id, err = uuid.v4()

Retorna: string, error

UUID ordenado por tempo. Ordenavel por tempo de criação.

local id, err = uuid.v7()

Retorna: string, error

UUID deterministico de namespace e nome usando MD5.

local id, err = uuid.v3(namespace, name)
ParâmetroTipoDescrição
namespacestringString UUID valida
namestringValor para hash

Retorna: string, error

UUID deterministico de namespace e nome usando SHA-1.

local NS_URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"
local id, err = uuid.v5(NS_URL, "https://example.com/resource")
ParâmetroTipoDescrição
namespacestringString UUID valida
namestringValor para hash

Retorna: string, error

local valid = uuid.validate(input)
ParâmetroTipoDescrição
inputanyValor para verificar

Retorna: boolean, error

local ver, err = uuid.version(id)
ParâmetroTipoDescrição
uuidstringString UUID valida

Retorna: integer, error

local var, err = uuid.variant(id)
ParâmetroTipoDescrição
uuidstringString UUID valida

Retorna: string, error (RFC4122, Reserved, Microsoft, Future, NCS ou Invalid)

local info, err = uuid.parse(id)
ParâmetroTipoDescrição
uuidstringString UUID valida

Retorna: table, error

Campos da tabela retornada:

  • version (integer): Versão do UUID (1, 3, 4, 5 ou 7)
  • variant (string): RFC4122, Reserved, Microsoft, Future, NCS ou Invalid
  • timestamp (integer): Timestamp Unix (apenas v1 e v7)
  • node (string): Node ID (apenas v1)
local formatted, err = uuid.format(id, "standard")
local formatted, err = uuid.format(id, "simple")
local formatted, err = uuid.format(id, "urn")
ParâmetroTipoDescrição
uuidstringString UUID valida
formatstring?standard (padrão), simple ou urn

Retorna: string, error

CondiçãoTipoRetentável
Tipo de input inválidoerrors.INVALIDnão
Formato de UUID inválidoerrors.INVALIDnão
Tipo de formato não suportadoerrors.INVALIDnão
Geração falhouerrors.INTERNALnão

Veja Error Handling para trabalhar com erros.