-module(gleam_synapses@model@net_elems@network@network_serialized). -compile(no_auto_import). -export([serialized/1, to_json/1, of_json/1, realized/1]). -spec serialized( gleam_zlists@interop:z_list(gleam_zlists@interop:z_list(gleam_synapses@model@net_elems@neuron@neuron:neuron())) ) -> list(list(gleam_synapses@model@net_elems@neuron@neuron_serialized:neuron_serialized())). serialized(Network) -> _pipe = Network, _pipe@1 = gleam_zlists:map( _pipe, fun gleam_synapses@model@net_elems@layer@layer_serialized:serialized/1 ), gleam_zlists:to_list(_pipe@1). -spec deserialized( list(list(gleam_synapses@model@net_elems@neuron@neuron_serialized:neuron_serialized())) ) -> gleam_zlists@interop:z_list(gleam_zlists@interop:z_list(gleam_synapses@model@net_elems@neuron@neuron:neuron())). deserialized(Network_serialized) -> _pipe = Network_serialized, _pipe@1 = gleam_zlists:of_list(_pipe), gleam_zlists:map( _pipe@1, fun gleam_synapses@model@net_elems@layer@layer_serialized:deserialized/1 ). -spec json_encoded( list(list(gleam_synapses@model@net_elems@neuron@neuron_serialized:neuron_serialized())) ) -> gleam@json:json(). json_encoded(Network_serialized) -> gleam@json:array( Network_serialized, fun gleam_synapses@model@net_elems@layer@layer_serialized:json_encoded/1 ). -spec json_decoder() -> fun((gleam@dynamic:dynamic()) -> {ok, list(list(gleam_synapses@model@net_elems@neuron@neuron_serialized:neuron_serialized()))} | {error, list(gleam@dynamic:decode_error())}). json_decoder() -> gleam@dynamic:list( gleam_synapses@model@net_elems@layer@layer_serialized:json_decoder() ). -spec to_json( gleam_zlists@interop:z_list(gleam_zlists@interop:z_list(gleam_synapses@model@net_elems@neuron@neuron:neuron())) ) -> binary(). to_json(Network) -> _pipe = Network, _pipe@1 = serialized(_pipe), _pipe@2 = json_encoded(_pipe@1), gleam@json:to_string(_pipe@2). -spec of_json(binary()) -> gleam_zlists@interop:z_list(gleam_zlists@interop:z_list(gleam_synapses@model@net_elems@neuron@neuron:neuron())). of_json(S) -> {ok, Res@1} = case gleam@json:decode(S, json_decoder()) of {ok, Res} -> {ok, Res}; _try -> erlang:error(#{gleam_error => assert, message => <<"Assertion pattern match failed"/utf8>>, value => _try, module => <<"gleam_synapses/model/net_elems/network/network_serialized"/utf8>>, function => <<"of_json"/utf8>>, line => 38}) end, deserialized(Res@1). -spec realized( gleam_zlists@interop:z_list(gleam_zlists@interop:z_list(gleam_synapses@model@net_elems@neuron@neuron:neuron())) ) -> gleam_zlists@interop:z_list(gleam_zlists@interop:z_list(gleam_synapses@model@net_elems@neuron@neuron:neuron())). realized(Network) -> serialized(Network), Network.