-module(shimmer@types@user). -compile(no_auto_import). -export([from_json_string/1]). -export_type([user/0]). -type user() :: {user, binary(), binary(), binary(), boolean()}. -spec from_json_string(binary()) -> {ok, user()} | {error, shimmer@internal@error:shimmer_error()}. from_json_string(Encoded) -> User_decoder = gleam@dynamic:decode4( fun(A, B, C, D) -> {user, A, B, C, D} end, gleam@dynamic:field(<<"id"/utf8>>, fun gleam@dynamic:string/1), gleam@dynamic:field(<<"username"/utf8>>, fun gleam@dynamic:string/1), gleam@dynamic:field( <<"discriminator"/utf8>>, fun gleam@dynamic:string/1 ), gleam@dynamic:field(<<"bot"/utf8>>, fun gleam@dynamic:bool/1) ), _pipe = gleam@json:decode(Encoded, User_decoder), gleam@result:map_error(_pipe, fun(A) -> {invalid_json, A} end).