-module(yodel@parser). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -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.