-module(yum@yaml@document).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/yum/yaml/document.gleam").
-export([new/2, root/1, directives/1]).
-export_type([document/0, directive/0]).
-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(false).
-opaque document() :: {document, yum@yaml@node:node_(), list(directive())}.
-type directive() :: {directive, binary(), list(binary()), yum@yaml@node:span()}.
-file("src/yum/yaml/document.gleam", 22).
?DOC(false).
-spec new(yum@yaml@node:node_(), list(directive())) -> document().
new(Root, Directives) ->
{document, Root, Directives}.
-file("src/yum/yaml/document.gleam", 26).
?DOC(false).
-spec root(document()) -> yum@yaml@node:node_().
root(Document) ->
erlang:element(2, Document).
-file("src/yum/yaml/document.gleam", 30).
?DOC(false).
-spec directives(document()) -> list(directive()).
directives(Document) ->
erlang:element(3, Document).