-module(json_canvas@node@group_background_style). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([decode_group_background_style/1]). -export_type([group_background_style/0]). -type group_background_style() :: cover | ratio | repeat. -spec decode_group_background_style(gleam@dynamic:dynamic_()) -> {ok, group_background_style()} | {error, list(gleam@dynamic:decode_error())}. decode_group_background_style(Dyn) -> gleam@result:'try'(gleam@dynamic:string(Dyn), fun(Style) -> case Style of <<"cover"/utf8>> -> {ok, cover}; <<"ratio"/utf8>> -> {ok, ratio}; <<"repeat"/utf8>> -> {ok, repeat}; _ -> {error, [{decode_error, <<"cover, ratio or repeat"/utf8>>, Style, []}]} end end).