Packages

KDL v2 parser, serializer, normalizer, and document builder for Gleam

Current section

Files

Jump to
kdleam src kdleam.erl
Raw

src/kdleam.erl

-module(kdleam).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/kdleam.gleam").
-export([parse/1, serialize/1, normalize/1]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
?MODULEDOC(" KDL v2 文書を解析、直列化、正規化する。\n").
-file("src/kdleam.gleam", 10).
?DOC(" KDL v2 文字列を解析し、文書または位置付きエラーを返す。\n").
-spec parse(binary()) -> {ok, kdleam@document:kdl_document()} |
{error, kdleam@error:kdl_error()}.
parse(Input) ->
kdleam@parse:parse(Input).
-file("src/kdleam.gleam", 15).
?DOC(" 文書を KDL v2 文字列へ直列化する。\n").
-spec serialize(kdleam@document:kdl_document()) -> binary().
serialize(Doc) ->
kdleam@serialize:serialize(Doc).
-file("src/kdleam.gleam", 20).
?DOC(" 文書を KDL v2 の正規形へ直列化する。\n").
-spec normalize(kdleam@document:kdl_document()) -> binary().
normalize(Doc) ->
kdleam@normalize:normalize(Doc).