zyro / elixir-uuid

UUID generator and utilities for Elixir
Apache License 2.0
361 stars 84 forks source link

UUID.valid?/2 #29

Open christhekeele opened 7 years ago

christhekeele commented 7 years ago

It'd be handy for this library to provide some basic validation functions for uuids, too.

Might hack this together shortly, wanted to leave this here to remind myself in case I don't get around to it soon or somebody else want to take a stab at it.

I'm thinking it could support :version and :format opts––the format one to verify that the uuid is of a particular format, not to hint at the format of the argument for parsing purposes.

librity commented 3 years ago

I couldn't agree more. I created a helper method using UUID.info/1, but it's far from ideal:

defmodule MyApp.Aux.ValidateUUID do
  def call(uuid) do
    case UUID.info(uuid) do
      {:ok, [{:uuid, valid_uuid} | _tails]} -> {:ok, valid_uuid}
      {:error, _reason} = error -> error
    end
  end
end