Packages

A markup language to define ER schemas

Current section

Files

Jump to
prequel src prequel.erl
Raw

src/prequel.erl

-module(prequel).
-compile([no_auto_import, nowarn_unused_vars]).
-export([parse/1]).
-spec parse(binary()) -> {ok, prequel@ast:module_()} |
{error, prequel@error@pipeline_error:pipeline_error()}.
parse(Source) ->
Parse_result = begin
_pipe = prequel@internals@token:scan(Source),
_pipe@1 = prequel@internals@parser:parse(_pipe),
gleam@result:map_error(
_pipe@1,
fun(Field@0) -> {parsing_failure, Field@0} end
)
end,
gleam@result:then(
Parse_result,
fun(Module) -> case prequel@internals@checker:check_module(Module) of
[] ->
{ok, Module};
[Error | Errors] ->
{error,
{validation_failure, non_empty_list:new(Error, Errors)}}
end end
).