Current section
Files
Jump to
Current section
Files
lib/graphql/parser/nif.ex
defmodule GraphQL.Parser.Nif do
@on_load {:init, 0}
@moduledoc """
NIF Module wrapping libgraphqlparser.
Do not use this module directly. Use GraphQL.Parser module instead.
"""
@doc false
def init do
path = :filename.join(priv_dir, 'graphql_parser')
:ok = :erlang.load_nif(path, 1)
end
defp priv_dir do
case :code.priv_dir(:graphql_parser) do
{:error, _} ->
:code.which(:graphql_parser)
|> :filename.dirname
|> :filename.dirname
|> :filename.join('priv')
path ->
path
end
end
def parse(_) do
exit(:nif_library_not_loaded)
end
end