Skip to main content

src/yum@yaml@parser@block_collection.erl

-module(yum@yaml@parser@block_collection).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/yum/yaml/parser/block_collection.gleam").
-export([parser/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).

-file("src/yum/yaml/parser/block_collection.gleam", 42).
?DOC(false).
-spec nested_collection_parser(integer()) -> nibble:parser(yum@yaml@node:node_(), yum@yaml@token:token(), yum@yaml@lexer@context:context()).
nested_collection_parser(Parent_indent) ->
    nibble:do(
        yum@yaml@parser@indentation:greater_than_parser(Parent_indent),
        fun(Indent) -> block_collection_parser(Indent) end
    ).

-file("src/yum/yaml/parser/block_collection.gleam", 38).
?DOC(false).
-spec compact_collection_parser(integer()) -> nibble:parser(yum@yaml@node:node_(), yum@yaml@token:token(), yum@yaml@lexer@context:context()).
compact_collection_parser(Indent) ->
    block_collection_parser(Indent + 2).

-file("src/yum/yaml/parser/block_collection.gleam", 61).
?DOC(false).
-spec bare_block_node_parser(integer()) -> nibble:parser(yum@yaml@node:node_(), yum@yaml@token:token(), yum@yaml@lexer@context:context()).
bare_block_node_parser(Indent) ->
    nibble:one_of(
        [yum@yaml@parser@flow_collection:parser(),
            yum@yaml@parser@block_scalar:parser(),
            yum@yaml@parser@double_quoted:parser(),
            yum@yaml@parser@single_quoted:parser(),
            nibble:backtrackable(compact_collection_parser(Indent)),
            nested_collection_parser(Indent),
            yum@yaml@parser@scalar:block_plain_parser(Indent)]
    ).

-file("src/yum/yaml/parser/block_collection.gleam", 57).
?DOC(false).
-spec block_node_parser(integer()) -> nibble:parser(yum@yaml@node:node_(), yum@yaml@token:token(), yum@yaml@lexer@context:context()).
block_node_parser(Indent) ->
    yum@yaml@parser@node_property:parser(bare_block_node_parser(Indent)).

-file("src/yum/yaml/parser/block_collection.gleam", 23).
?DOC(false).
-spec block_sequence_parser(integer()) -> nibble:parser(yum@yaml@node:node_(), yum@yaml@token:token(), yum@yaml@lexer@context:context()).
block_sequence_parser(Indent) ->
    yum@yaml@parser@block_sequence:parser(Indent, fun block_node_parser/1).

-file("src/yum/yaml/parser/block_collection.gleam", 50).
?DOC(false).
-spec indentless_sequence_parser(integer()) -> nibble:parser(yum@yaml@node:node_(), yum@yaml@token:token(), yum@yaml@lexer@context:context()).
indentless_sequence_parser(Parent_indent) ->
    nibble:do(
        yum@yaml@parser@indentation:same_amount_parser(Parent_indent),
        fun(_use0) ->
            nil = _use0,
            block_sequence_parser(Parent_indent)
        end
    ).

-file("src/yum/yaml/parser/block_collection.gleam", 77).
?DOC(false).
-spec bare_mapping_value_parser(integer()) -> nibble:parser(yum@yaml@node:node_(), yum@yaml@token:token(), yum@yaml@lexer@context:context()).
bare_mapping_value_parser(Indent) ->
    nibble:one_of(
        [yum@yaml@parser@flow_collection:parser(),
            yum@yaml@parser@block_scalar:parser(),
            yum@yaml@parser@double_quoted:parser(),
            yum@yaml@parser@single_quoted:parser(),
            nibble:backtrackable(compact_collection_parser(Indent)),
            nested_collection_parser(Indent),
            nibble:backtrackable(indentless_sequence_parser(Indent)),
            yum@yaml@parser@scalar:block_plain_parser(Indent)]
    ).

-file("src/yum/yaml/parser/block_collection.gleam", 73).
?DOC(false).
-spec mapping_value_parser(integer()) -> nibble:parser(yum@yaml@node:node_(), yum@yaml@token:token(), yum@yaml@lexer@context:context()).
mapping_value_parser(Indent) ->
    yum@yaml@parser@node_property:parser(bare_mapping_value_parser(Indent)).

-file("src/yum/yaml/parser/block_collection.gleam", 27).
?DOC(false).
-spec block_mapping_parser(integer()) -> nibble:parser(yum@yaml@node:node_(), yum@yaml@token:token(), yum@yaml@lexer@context:context()).
block_mapping_parser(Indent) ->
    yum@yaml@parser@block_mapping:parser(Indent, fun mapping_value_parser/1).

-file("src/yum/yaml/parser/block_collection.gleam", 31).
?DOC(false).
-spec block_collection_parser(integer()) -> nibble:parser(yum@yaml@node:node_(), yum@yaml@token:token(), yum@yaml@lexer@context:context()).
block_collection_parser(Indent) ->
    nibble:one_of([block_sequence_parser(Indent), block_mapping_parser(Indent)]).

-file("src/yum/yaml/parser/block_collection.gleam", 16).
?DOC(false).
-spec parser() -> nibble:parser(yum@yaml@node:node_(), yum@yaml@token:token(), yum@yaml@lexer@context:context()).
parser() ->
    nibble:do(
        nibble:optional(yum@yaml@parser@indentation:value_parser()),
        fun(Indent) ->
            Indent@1 = begin
                _pipe = Indent,
                gleam@option:unwrap(_pipe, 0)
            end,
            block_collection_parser(Indent@1)
        end
    ).