Packages
jsv
0.17.1
0.21.2
0.21.1
0.21.0
0.20.0
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.3
0.18.2
0.18.1
0.18.0
0.17.1
0.17.0
0.16.0
0.15.2
0.15.1
0.15.0
0.14.0
0.13.1
0.13.0
0.12.0
0.11.5
0.11.4
0.11.3
retired
0.11.2
0.11.1
0.11.0
0.10.1
0.10.0
0.9.0
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.0
0.5.1
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
A JSON Schema Validator with complete support for the latest specifications.
Current section
Files
Jump to
Current section
Files
lib/jsv/helpers/string_ext.ex
defmodule JSV.Helpers.StringExt do
@moduledoc false
@doc """
Returns the given string converted to an atom as a result tuple.
"""
@spec safe_string_to_existing_module(String.t()) :: {:ok, atom} | {:error, {:unknown_module, String.t()}}
def safe_string_to_existing_module(string) do
module = String.to_existing_atom(string)
Code.ensure_loaded!(module)
{:ok, module}
rescue
_ in ArgumentError -> {:error, {:unknown_module, string}}
end
end