-module(json@blueprint). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([generate_json_schema/1, self_decoder/1, get_dynamic_decoder/1, decode/2, string/0, int/0, float/0, bool/0, list/1, reuse_decoder/1, field/2, optional/1, optional_field/2, encode_optional_field/4, union_type_encoder/2, union_type_decoder/1, enum_type_encoder/2, enum_type_decoder/1, map/2, tuple2/2, tuple3/3, tuple4/4, tuple5/5, tuple6/6, decode0/1, decode1/2, decode2/3, decode3/4, decode4/5, decode5/6, decode6/7, decode7/8, decode8/9, decode9/10, encode_tuple2/3, encode_tuple3/4, encode_tuple4/5, encode_tuple5/6, encode_tuple6/7, encode_tuple7/8, encode_tuple8/9, encode_tuple9/10]). -export_type([decoder/1, field_decoder/1]). -type decoder(GLM) :: {decoder, fun((gleam@dynamic:dynamic_()) -> {ok, GLM} | {error, list(gleam@dynamic:decode_error())}), json@blueprint@schema:schema_definition(), list({binary(), json@blueprint@schema:schema_definition()})}. -type field_decoder(GLN) :: {field_decoder, fun((gleam@dynamic:dynamic_()) -> {ok, GLN} | {error, list(gleam@dynamic:decode_error())}), {binary(), json@blueprint@schema:schema_definition()}, list({binary(), json@blueprint@schema:schema_definition()})}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 28). -spec generate_json_schema(decoder(any())) -> gleam@json:json(). generate_json_schema(Decoder) -> Refs = case erlang:element(4, Decoder) of [] -> none; Xs -> {some, Xs} end, json@blueprint@schema:to_json( json@blueprint@schema:new_schema(erlang:element(3, Decoder), Refs) ). -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 128). -spec self_decoder(fun(() -> decoder(GLV))) -> decoder(GLV). self_decoder(Lazy) -> {decoder, fun(Input) -> (erlang:element(2, Lazy()))(Input) end, {ref, <<"#"/utf8>>}, []}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 132). -spec get_dynamic_decoder(decoder(GLY)) -> fun((gleam@dynamic:dynamic_()) -> {ok, GLY} | {error, list(gleam@dynamic:decode_error())}). get_dynamic_decoder(Decoder) -> erlang:element(2, Decoder). -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 136). -spec decode(decoder(GMB), binary()) -> {ok, GMB} | {error, gleam@json:decode_error()}. decode(Decoder, Json_string) -> gleam@json:decode(Json_string, erlang:element(2, Decoder)). -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 143). -spec string() -> decoder(binary()). string() -> {decoder, fun gleam@dynamic:string/1, {type, string_type}, []}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 147). -spec int() -> decoder(integer()). int() -> {decoder, fun gleam@dynamic:int/1, {type, integer_type}, []}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 151). -spec float() -> decoder(float()). float() -> {decoder, fun gleam@dynamic:float/1, {type, number_type}, []}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 155). -spec bool() -> decoder(boolean()). bool() -> {decoder, fun gleam@dynamic:bool/1, {type, boolean_type}, []}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 159). -spec list(decoder(GMJ)) -> decoder(list(GMJ)). list(Decoder_type) -> {decoder, gleam@dynamic:list(erlang:element(2, Decoder_type)), {array, {some, erlang:element(3, Decoder_type)}}, erlang:element(4, Decoder_type)}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 71). -spec reuse_decoder(decoder(GLS)) -> decoder(GLS). reuse_decoder(Decoder) -> Def_name = <<"ref_"/utf8, (json@blueprint@schema:hash_schema_definition( erlang:element(3, Decoder) ))/binary>>, Ref_name = <<"#/$defs/"/utf8, Def_name/binary>>, Schema_with_rebased_self_refs = json@blueprint@schema:map_ref( erlang:element(3, Decoder), fun(Original_ref_name) -> case Original_ref_name of <<"#"/utf8>> -> Ref_name; X -> X end end ), {decoder, erlang:element(2, Decoder), {ref, Ref_name}, begin _pipe = erlang:element(4, Decoder), gleam@list:prepend(_pipe, {Def_name, Schema_with_rebased_self_refs}) end}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 167). -spec field(binary(), decoder(GMN)) -> field_decoder(GMN). field(Name, Inner_type) -> {field_decoder, gleam@dynamic:field(Name, erlang:element(2, Inner_type)), {Name, erlang:element(3, Inner_type)}, erlang:element(4, Inner_type)}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 197). -spec optional(decoder(GMQ)) -> decoder(gleam@option:option(GMQ)). optional(Decode) -> {decoder, gleam@dynamic:optional(erlang:element(2, Decode)), {nullable, erlang:element(3, Decode)}, erlang:element(4, Decode)}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 233). -spec optional_field(binary(), decoder(GMU)) -> field_decoder(gleam@option:option(GMU)). optional_field(Name, Inner_type) -> {field_decoder, fun(Value) -> _pipe = (gleam@dynamic:optional_field( Name, fun(Dyn) -> case Dyn =:= json_blueprint_ffi:null() of false -> gleam@result:map( (erlang:element(2, Inner_type))(Dyn), fun(Field@0) -> {some, Field@0} end ); true -> {ok, none} end end ))(Value), gleam@result:map(_pipe, fun gleam@option:flatten/1) end, {Name, {optional, erlang:element(3, Inner_type)}}, erlang:element(4, Inner_type)}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 295). -spec encode_optional_field( list({binary(), gleam@json:json()}), binary(), gleam@option:option(GMZ), fun((GMZ) -> gleam@json:json()) ) -> list({binary(), gleam@json:json()}). encode_optional_field(Fields, Name, Value, Encode_fn) -> case Value of {some, Left} -> gleam@list:prepend(Fields, {Name, Encode_fn(Left)}); none -> Fields end. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 335). -spec union_type_encoder(GNC, fun((GNC) -> {binary(), gleam@json:json()})) -> gleam@json:json(). union_type_encoder(Of, Encoder_fn) -> {Field_name, Json_value} = Encoder_fn(Of), gleam@json:object( [{<<"type"/utf8>>, gleam@json:string(Field_name)}, {<<"data"/utf8>>, Json_value}] ). -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 365). -spec union_type_decoder(list({binary(), decoder(GND)})) -> decoder(GND). union_type_decoder(Decoders) -> Constructor = fun(Type_str, Data) -> _pipe = Decoders, _pipe@1 = gleam@list:find_map( _pipe, fun(Dec) -> case erlang:element(1, Dec) =:= Type_str of true -> {ok, (erlang:element(2, (erlang:element(2, Dec))))(Data)}; _ -> {error, []} end end ), _pipe@4 = gleam@result:map_error( _pipe@1, fun(_) -> Valid_types = begin _pipe@2 = Decoders, _pipe@3 = gleam@list:map( _pipe@2, fun(Dec@1) -> erlang:element(1, Dec@1) end ), gleam@string:join(_pipe@3, <<", "/utf8>>) end, [{decode_error, <<"valid constructor type, one of: "/utf8, Valid_types/binary>>, Type_str, []}] end ), gleam@result:flatten(_pipe@4) end, Enum_decoder = fun(Data@1) -> _pipe@5 = (gleam@dynamic:decode2( Constructor, gleam@dynamic:field(<<"type"/utf8>>, fun gleam@dynamic:string/1), gleam@dynamic:field(<<"data"/utf8>>, fun gleam@dynamic:dynamic/1) ))(Data@1), gleam@result:flatten(_pipe@5) end, Schema = case Decoders of [] -> {object, [], {some, false}, none}; [{Name, Dec@2}] -> {object, [{<<"type"/utf8>>, {enum, [gleam@json:string(Name)], {some, string_type}}}, {<<"data"/utf8>>, erlang:element(3, Dec@2)}], {some, false}, {some, [<<"type"/utf8>>, <<"data"/utf8>>]}}; Xs -> _pipe@6 = gleam@list:map( Xs, fun(Field_dec) -> {Name@1, Dec@3} = Field_dec, {object, [{<<"type"/utf8>>, {enum, [gleam@json:string(Name@1)], {some, string_type}}}, {<<"data"/utf8>>, erlang:element(3, Dec@3)}], {some, false}, {some, [<<"type"/utf8>>, <<"data"/utf8>>]}} end ), {any_of, _pipe@6} end, Defs = gleam@list:flat_map( Decoders, fun(Dec@4) -> erlang:element(4, (erlang:element(2, Dec@4))) end ), {decoder, Enum_decoder, Schema, Defs}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 461). -spec enum_type_encoder(GNH, fun((GNH) -> binary())) -> gleam@json:json(). enum_type_encoder(Of, Encoder_fn) -> Field_name = Encoder_fn(Of), gleam@json:object([{<<"enum"/utf8>>, gleam@json:string(Field_name)}]). -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 490). -spec enum_type_decoder(list({binary(), GNI})) -> decoder(GNI). enum_type_decoder(Decoders) -> Constructor = fun(Type_str) -> _pipe = Decoders, _pipe@1 = gleam@list:find_map( _pipe, fun(Dec) -> case erlang:element(1, Dec) =:= Type_str of true -> {ok, erlang:element(2, Dec)}; _ -> {error, []} end end ), gleam@result:map_error( _pipe@1, fun(_) -> Valid_types = begin _pipe@2 = Decoders, _pipe@3 = gleam@list:map( _pipe@2, fun(Dec@1) -> erlang:element(1, Dec@1) end ), gleam@string:join(_pipe@3, <<", "/utf8>>) end, [{decode_error, <<"valid constructor type, one of: "/utf8, Valid_types/binary>>, Type_str, []}] end ) end, Enum_decoder = fun(Data) -> _pipe@4 = (gleam@dynamic:decode1( Constructor, gleam@dynamic:field(<<"enum"/utf8>>, fun gleam@dynamic:string/1) ))(Data), gleam@result:flatten(_pipe@4) end, {decoder, Enum_decoder, begin _pipe@5 = gleam@list:map( Decoders, fun(Field_dec) -> gleam@json:string(erlang:element(1, Field_dec)) end ), _pipe@6 = (fun(Enum_values) -> [{<<"enum"/utf8>>, {enum, Enum_values, {some, string_type}}}] end)(_pipe@5), {object, _pipe@6, {some, false}, {some, [<<"enum"/utf8>>]}} end, []}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 533). -spec map(decoder(GNL), fun((GNL) -> GNN)) -> decoder(GNN). map(Decoder, Foo) -> {decoder, fun(Input) -> gleam@result:map((erlang:element(2, Decoder))(Input), Foo) end, erlang:element(3, Decoder), erlang:element(4, Decoder)}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 541). -spec tuple2(decoder(GNP), decoder(GNR)) -> decoder({GNP, GNR}). tuple2(Decode1, Decode2) -> {decoder, gleam@dynamic:tuple2( erlang:element(2, Decode1), erlang:element(2, Decode2) ), {detailed_array, none, {some, [erlang:element(3, Decode1), erlang:element(3, Decode2)]}, {some, 2}, {some, 2}, none, none, none, none}, lists:append(erlang:element(4, Decode1), erlang:element(4, Decode2))}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 561). -spec tuple3(decoder(GNU), decoder(GNW), decoder(GNY)) -> decoder({GNU, GNW, GNY}). tuple3(Decode1, Decode2, Decode3) -> {decoder, gleam@dynamic:tuple3( erlang:element(2, Decode1), erlang:element(2, Decode2), erlang:element(2, Decode3) ), {detailed_array, none, {some, [erlang:element(3, Decode1), erlang:element(3, Decode2), erlang:element(3, Decode3)]}, {some, 3}, {some, 3}, none, none, none, none}, gleam@list:concat( [erlang:element(4, Decode1), erlang:element(4, Decode2), erlang:element(4, Decode3)] )}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 586). -spec tuple4(decoder(GOB), decoder(GOD), decoder(GOF), decoder(GOH)) -> decoder({GOB, GOD, GOF, GOH}). tuple4(Decode1, Decode2, Decode3, Decode4) -> {decoder, gleam@dynamic:tuple4( erlang:element(2, Decode1), erlang:element(2, Decode2), erlang:element(2, Decode3), erlang:element(2, Decode4) ), {detailed_array, none, {some, [erlang:element(3, Decode1), erlang:element(3, Decode2), erlang:element(3, Decode3), erlang:element(3, Decode4)]}, {some, 4}, {some, 4}, none, none, none, none}, gleam@list:concat( [erlang:element(4, Decode1), erlang:element(4, Decode2), erlang:element(4, Decode3), erlang:element(4, Decode4)] )}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 613). -spec tuple5( decoder(GOK), decoder(GOM), decoder(GOO), decoder(GOQ), decoder(GOS) ) -> decoder({GOK, GOM, GOO, GOQ, GOS}). tuple5(Decode1, Decode2, Decode3, Decode4, Decode5) -> {decoder, gleam@dynamic:tuple5( erlang:element(2, Decode1), erlang:element(2, Decode2), erlang:element(2, Decode3), erlang:element(2, Decode4), erlang:element(2, Decode5) ), {detailed_array, none, {some, [erlang:element(3, Decode1), erlang:element(3, Decode2), erlang:element(3, Decode3), erlang:element(3, Decode4), erlang:element(3, Decode5)]}, {some, 5}, {some, 5}, none, none, none, none}, gleam@list:concat( [erlang:element(4, Decode1), erlang:element(4, Decode2), erlang:element(4, Decode3), erlang:element(4, Decode4), erlang:element(4, Decode5)] )}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 654). -spec tuple6( decoder(GOV), decoder(GOX), decoder(GOZ), decoder(GPB), decoder(GPD), decoder(GPF) ) -> decoder({GOV, GOX, GOZ, GPB, GPD, GPF}). tuple6(Decode1, Decode2, Decode3, Decode4, Decode5, Decode6) -> {decoder, gleam@dynamic:tuple6( erlang:element(2, Decode1), erlang:element(2, Decode2), erlang:element(2, Decode3), erlang:element(2, Decode4), erlang:element(2, Decode5), erlang:element(2, Decode6) ), {detailed_array, none, {some, [erlang:element(3, Decode1), erlang:element(3, Decode2), erlang:element(3, Decode3), erlang:element(3, Decode4), erlang:element(3, Decode5), erlang:element(3, Decode6)]}, {some, 6}, {some, 6}, none, none, none, none}, gleam@list:concat( [erlang:element(4, Decode1), erlang:element(4, Decode2), erlang:element(4, Decode3), erlang:element(4, Decode4), erlang:element(4, Decode5), erlang:element(4, Decode6)] )}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 699). -spec create_object_schema( list({binary(), json@blueprint@schema:schema_definition()}) ) -> json@blueprint@schema:schema_definition(). create_object_schema(Fields) -> {object, Fields, {some, false}, {some, gleam@list:filter_map(Fields, fun(Field_dec) -> case Field_dec of {_, {optional, _}} -> {error, nil}; {Name, _} -> {ok, Name} end end)}}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 716). -spec decode0(GPJ) -> decoder(GPJ). decode0(Constructor) -> {decoder, fun(_) -> {ok, Constructor} end, {object, [], {some, false}, none}, []}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 743). -spec decode1(fun((GPL) -> GPM), field_decoder(GPL)) -> decoder(GPM). decode1(Constructor, T1) -> {decoder, gleam@dynamic:decode1(Constructor, erlang:element(2, T1)), create_object_schema([erlang:element(3, T1)]), erlang:element(4, T1)}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 751). -spec decode2(fun((GPP, GPQ) -> GPR), field_decoder(GPP), field_decoder(GPQ)) -> decoder(GPR). decode2(Constructor, T1, T2) -> {decoder, gleam@dynamic:decode2( Constructor, erlang:element(2, T1), erlang:element(2, T2) ), create_object_schema([erlang:element(3, T1), erlang:element(3, T2)]), gleam@list:concat([erlang:element(4, T1), erlang:element(4, T2)])}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 763). -spec decode3( fun((GPV, GPW, GPX) -> GPY), field_decoder(GPV), field_decoder(GPW), field_decoder(GPX) ) -> decoder(GPY). decode3(Constructor, T1, T2, T3) -> {decoder, gleam@dynamic:decode3( Constructor, erlang:element(2, T1), erlang:element(2, T2), erlang:element(2, T3) ), create_object_schema( [erlang:element(3, T1), erlang:element(3, T2), erlang:element(3, T3)] ), gleam@list:concat( [erlang:element(4, T1), erlang:element(4, T2), erlang:element(4, T3)] )}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 776). -spec decode4( fun((GQD, GQE, GQF, GQG) -> GQH), field_decoder(GQD), field_decoder(GQE), field_decoder(GQF), field_decoder(GQG) ) -> decoder(GQH). decode4(Constructor, T1, T2, T3, T4) -> {decoder, gleam@dynamic:decode4( Constructor, erlang:element(2, T1), erlang:element(2, T2), erlang:element(2, T3), erlang:element(2, T4) ), create_object_schema( [erlang:element(3, T1), erlang:element(3, T2), erlang:element(3, T3), erlang:element(3, T4)] ), gleam@list:concat( [erlang:element(4, T1), erlang:element(4, T2), erlang:element(4, T3), erlang:element(4, T4)] )}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 801). -spec decode5( fun((GQN, GQO, GQP, GQQ, GQR) -> GQS), field_decoder(GQN), field_decoder(GQO), field_decoder(GQP), field_decoder(GQQ), field_decoder(GQR) ) -> decoder(GQS). decode5(Constructor, T1, T2, T3, T4, T5) -> {decoder, gleam@dynamic:decode5( Constructor, erlang:element(2, T1), erlang:element(2, T2), erlang:element(2, T3), erlang:element(2, T4), erlang:element(2, T5) ), create_object_schema( [erlang:element(3, T1), erlang:element(3, T2), erlang:element(3, T3), erlang:element(3, T4), erlang:element(3, T5)] ), gleam@list:concat( [erlang:element(4, T1), erlang:element(4, T2), erlang:element(4, T3), erlang:element(4, T4), erlang:element(4, T5)] )}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 829). -spec decode6( fun((GQZ, GRA, GRB, GRC, GRD, GRE) -> GRF), field_decoder(GQZ), field_decoder(GRA), field_decoder(GRB), field_decoder(GRC), field_decoder(GRD), field_decoder(GRE) ) -> decoder(GRF). decode6(Constructor, T1, T2, T3, T4, T5, T6) -> {decoder, gleam@dynamic:decode6( Constructor, erlang:element(2, T1), erlang:element(2, T2), erlang:element(2, T3), erlang:element(2, T4), erlang:element(2, T5), erlang:element(2, T6) ), create_object_schema( [erlang:element(3, T1), erlang:element(3, T2), erlang:element(3, T3), erlang:element(3, T4), erlang:element(3, T5), erlang:element(3, T6)] ), gleam@list:concat( [erlang:element(4, T1), erlang:element(4, T2), erlang:element(4, T3), erlang:element(4, T4), erlang:element(4, T5), erlang:element(4, T6)] )}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 860). -spec decode7( fun((GRN, GRO, GRP, GRQ, GRR, GRS, GRT) -> GRU), field_decoder(GRN), field_decoder(GRO), field_decoder(GRP), field_decoder(GRQ), field_decoder(GRR), field_decoder(GRS), field_decoder(GRT) ) -> decoder(GRU). decode7(Constructor, T1, T2, T3, T4, T5, T6, T7) -> {decoder, gleam@dynamic:decode7( Constructor, erlang:element(2, T1), erlang:element(2, T2), erlang:element(2, T3), erlang:element(2, T4), erlang:element(2, T5), erlang:element(2, T6), erlang:element(2, T7) ), create_object_schema( [erlang:element(3, T1), erlang:element(3, T2), erlang:element(3, T3), erlang:element(3, T4), erlang:element(3, T5), erlang:element(3, T6), erlang:element(3, T7)] ), gleam@list:concat( [erlang:element(4, T1), erlang:element(4, T2), erlang:element(4, T3), erlang:element(4, T4), erlang:element(4, T5), erlang:element(4, T6), erlang:element(4, T7)] )}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 894). -spec decode8( fun((GSD, GSE, GSF, GSG, GSH, GSI, GSJ, GSK) -> GSL), field_decoder(GSD), field_decoder(GSE), field_decoder(GSF), field_decoder(GSG), field_decoder(GSH), field_decoder(GSI), field_decoder(GSJ), field_decoder(GSK) ) -> decoder(GSL). decode8(Constructor, T1, T2, T3, T4, T5, T6, T7, T8) -> {decoder, gleam@dynamic:decode8( Constructor, erlang:element(2, T1), erlang:element(2, T2), erlang:element(2, T3), erlang:element(2, T4), erlang:element(2, T5), erlang:element(2, T6), erlang:element(2, T7), erlang:element(2, T8) ), create_object_schema( [erlang:element(3, T1), erlang:element(3, T2), erlang:element(3, T3), erlang:element(3, T4), erlang:element(3, T5), erlang:element(3, T6), erlang:element(3, T7), erlang:element(3, T8)] ), gleam@list:concat( [erlang:element(4, T1), erlang:element(4, T2), erlang:element(4, T3), erlang:element(4, T4), erlang:element(4, T5), erlang:element(4, T6), erlang:element(4, T7), erlang:element(4, T8)] )}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 940). -spec decode9( fun((GSV, GSW, GSX, GSY, GSZ, GTA, GTB, GTC, GTD) -> GTE), field_decoder(GSV), field_decoder(GSW), field_decoder(GSX), field_decoder(GSY), field_decoder(GSZ), field_decoder(GTA), field_decoder(GTB), field_decoder(GTC), field_decoder(GTD) ) -> decoder(GTE). decode9(Constructor, T1, T2, T3, T4, T5, T6, T7, T8, T9) -> {decoder, gleam@dynamic:decode9( Constructor, erlang:element(2, T1), erlang:element(2, T2), erlang:element(2, T3), erlang:element(2, T4), erlang:element(2, T5), erlang:element(2, T6), erlang:element(2, T7), erlang:element(2, T8), erlang:element(2, T9) ), create_object_schema( [erlang:element(3, T1), erlang:element(3, T2), erlang:element(3, T3), erlang:element(3, T4), erlang:element(3, T5), erlang:element(3, T6), erlang:element(3, T7), erlang:element(3, T8), erlang:element(3, T9)] ), gleam@list:concat( [erlang:element(4, T1), erlang:element(4, T2), erlang:element(4, T3), erlang:element(4, T4), erlang:element(4, T5), erlang:element(4, T6), erlang:element(4, T7), erlang:element(4, T8), erlang:element(4, T9)] )}. -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 990). -spec encode_tuple2( {GTP, GTQ}, fun((GTP) -> gleam@json:json()), fun((GTQ) -> gleam@json:json()) ) -> gleam@json:json(). encode_tuple2(Tuple, Encode1, Encode2) -> {T1, T2} = Tuple, gleam@json:preprocessed_array([Encode1(T1), Encode2(T2)]). -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 999). -spec encode_tuple3( {GTR, GTS, GTT}, fun((GTR) -> gleam@json:json()), fun((GTS) -> gleam@json:json()), fun((GTT) -> gleam@json:json()) ) -> gleam@json:json(). encode_tuple3(Tuple, Encode1, Encode2, Encode3) -> {T1, T2, T3} = Tuple, gleam@json:preprocessed_array([Encode1(T1), Encode2(T2), Encode3(T3)]). -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 1009). -spec encode_tuple4( {GTU, GTV, GTW, GTX}, fun((GTU) -> gleam@json:json()), fun((GTV) -> gleam@json:json()), fun((GTW) -> gleam@json:json()), fun((GTX) -> gleam@json:json()) ) -> gleam@json:json(). encode_tuple4(Tuple, Encode1, Encode2, Encode3, Encode4) -> {T1, T2, T3, T4} = Tuple, gleam@json:preprocessed_array( [Encode1(T1), Encode2(T2), Encode3(T3), Encode4(T4)] ). -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 1020). -spec encode_tuple5( {GTY, GTZ, GUA, GUB, GUC}, fun((GTY) -> gleam@json:json()), fun((GTZ) -> gleam@json:json()), fun((GUA) -> gleam@json:json()), fun((GUB) -> gleam@json:json()), fun((GUC) -> gleam@json:json()) ) -> gleam@json:json(). encode_tuple5(Tuple, Encode1, Encode2, Encode3, Encode4, Encode5) -> {T1, T2, T3, T4, T5} = Tuple, gleam@json:preprocessed_array( [Encode1(T1), Encode2(T2), Encode3(T3), Encode4(T4), Encode5(T5)] ). -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 1038). -spec encode_tuple6( {GUD, GUE, GUF, GUG, GUH, GUI}, fun((GUD) -> gleam@json:json()), fun((GUE) -> gleam@json:json()), fun((GUF) -> gleam@json:json()), fun((GUG) -> gleam@json:json()), fun((GUH) -> gleam@json:json()), fun((GUI) -> gleam@json:json()) ) -> gleam@json:json(). encode_tuple6(Tuple, Encode1, Encode2, Encode3, Encode4, Encode5, Encode6) -> {T1, T2, T3, T4, T5, T6} = Tuple, gleam@json:preprocessed_array( [Encode1(T1), Encode2(T2), Encode3(T3), Encode4(T4), Encode5(T5), Encode6(T6)] ). -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 1058). -spec encode_tuple7( {GUJ, GUK, GUL, GUM, GUN, GUO, GUP}, fun((GUJ) -> gleam@json:json()), fun((GUK) -> gleam@json:json()), fun((GUL) -> gleam@json:json()), fun((GUM) -> gleam@json:json()), fun((GUN) -> gleam@json:json()), fun((GUO) -> gleam@json:json()), fun((GUP) -> gleam@json:json()) ) -> gleam@json:json(). encode_tuple7( Tuple, Encode1, Encode2, Encode3, Encode4, Encode5, Encode6, Encode7 ) -> {T1, T2, T3, T4, T5, T6, T7} = Tuple, gleam@json:preprocessed_array( [Encode1(T1), Encode2(T2), Encode3(T3), Encode4(T4), Encode5(T5), Encode6(T6), Encode7(T7)] ). -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 1080). -spec encode_tuple8( {GUQ, GUR, GUS, GUT, GUU, GUV, GUW, GUX}, fun((GUQ) -> gleam@json:json()), fun((GUR) -> gleam@json:json()), fun((GUS) -> gleam@json:json()), fun((GUT) -> gleam@json:json()), fun((GUU) -> gleam@json:json()), fun((GUV) -> gleam@json:json()), fun((GUW) -> gleam@json:json()), fun((GUX) -> gleam@json:json()) ) -> gleam@json:json(). encode_tuple8( Tuple, Encode1, Encode2, Encode3, Encode4, Encode5, Encode6, Encode7, Encode8 ) -> {T1, T2, T3, T4, T5, T6, T7, T8} = Tuple, gleam@json:preprocessed_array( [Encode1(T1), Encode2(T2), Encode3(T3), Encode4(T4), Encode5(T5), Encode6(T6), Encode7(T7), Encode8(T8)] ). -file("/code/edgar/gleamplay/src/json/blueprint.gleam", 1104). -spec encode_tuple9( {GUY, GUZ, GVA, GVB, GVC, GVD, GVE, GVF, GVG}, fun((GUY) -> gleam@json:json()), fun((GUZ) -> gleam@json:json()), fun((GVA) -> gleam@json:json()), fun((GVB) -> gleam@json:json()), fun((GVC) -> gleam@json:json()), fun((GVD) -> gleam@json:json()), fun((GVE) -> gleam@json:json()), fun((GVF) -> gleam@json:json()), fun((GVG) -> gleam@json:json()) ) -> gleam@json:json(). encode_tuple9( Tuple, Encode1, Encode2, Encode3, Encode4, Encode5, Encode6, Encode7, Encode8, Encode9 ) -> {T1, T2, T3, T4, T5, T6, T7, T8, T9} = Tuple, gleam@json:preprocessed_array( [Encode1(T1), Encode2(T2), Encode3(T3), Encode4(T4), Encode5(T5), Encode6(T6), Encode7(T7), Encode8(T8), Encode9(T9)] ).