Current section
Files
Jump to
Current section
Files
src/yodel@parser.erl
-module(yodel@parser).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/yodel/parser.gleam").
-export([parse/2]).
-export_type([parser/0]).
-type parser() :: {parser,
binary(),
fun((binary()) -> {ok, yodel@properties:properties()} |
{error, yodel@errors:config_error()})}.
-file("src/yodel/parser.gleam", 26).
-spec parse_json(binary()) -> {ok, yodel@properties:properties()} |
{error, yodel@errors:config_error()}.
parse_json(Content) ->
yodel@parsers@yaml:parse(Content).
-file("src/yodel/parser.gleam", 31).
-spec parse_toml(binary()) -> {ok, yodel@properties:properties()} |
{error, yodel@errors:config_error()}.
parse_toml(Content) ->
yodel@parsers@toml:parse(Content).
-file("src/yodel/parser.gleam", 35).
-spec parse_yaml(binary()) -> {ok, yodel@properties:properties()} |
{error, yodel@errors:config_error()}.
parse_yaml(Content) ->
yodel@parsers@yaml:parse(Content).
-file("src/yodel/parser.gleam", 14).
-spec parse(binary(), yodel@options:format()) -> {ok,
yodel@properties:properties()} |
{error, yodel@errors:config_error()}.
parse(Content, Format) ->
case Format of
json ->
_pipe = Content,
parse_json(_pipe);
toml ->
_pipe@1 = Content,
parse_toml(_pipe@1);
yaml ->
_pipe@2 = Content,
parse_yaml(_pipe@2);
auto ->
{error, {parse_error, unknown_format}}
end.