Clairvoyant.Parsers.ElixirTerm (clairvoyant v0.1.0)

Copy Markdown View Source

Decodes a string of Elixir source into a plain term, without executing any code. Only literals (maps, tuples, lists, atoms, strings, numbers, booleans, nil) are supported — anything else (function calls, variables, module attributes, ...) is rejected. This is what makes it safe to use on a mix.lock file, which is untrusted input.

Summary

Functions

decode(source)

@spec decode(String.t()) :: {:ok, term()} | {:error, String.t()}