-module(sparkleplug). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([sparkplug_payload_to_json_string/1, metric_to_json_string/1, string_to_metric/1, string_to_sparkplug_payload/1, bit_array_to_sparkplug_payload/1]). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 276). -spec data_value(gleam@dynamic:dynamic_()) -> {ok, sparkleplug@sparkplug_b@payload@dataset:value()} | {error, list(gleam@dynamic:decode_error())}. data_value(Data) -> (gleam@dynamic:any([fun(Val) -> _pipe = gleam@dynamic:int(Val), gleam@result:map( _pipe, fun(Field@0) -> {int_value, Field@0} end ) end, fun(Val@1) -> _pipe@1 = gleam@dynamic:float(Val@1), gleam@result:map( _pipe@1, fun(Field@0) -> {float_value, Field@0} end ) end, fun(Val@2) -> _pipe@2 = gleam@dynamic:bool(Val@2), gleam@result:map( _pipe@2, fun(Field@0) -> {boolean_value, Field@0} end ) end, fun(Val@3) -> _pipe@3 = gleam@dynamic:string(Val@3), gleam@result:map( _pipe@3, fun(Field@0) -> {string_value, Field@0} end ) end]))(Data). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 267). -spec data_set_value(gleam@dynamic:dynamic_()) -> {ok, sparkleplug@sparkplug_b@payload@dataset:data_set_value()} | {error, list(gleam@dynamic:decode_error())}. data_set_value(Data) -> (gleam@dynamic:decode1( fun(Field@0) -> {data_set_value, Field@0} end, gleam@dynamic:optional_field(<<"value"/utf8>>, fun data_value/1) ))(Data). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 260). -spec row(gleam@dynamic:dynamic_()) -> {ok, sparkleplug@sparkplug_b@payload@dataset:row()} | {error, list(gleam@dynamic:decode_error())}. row(Data) -> (gleam@dynamic:decode1( fun(Field@0) -> {row, Field@0} end, gleam@dynamic:field( <<"elements"/utf8>>, gleam@dynamic:list(fun data_set_value/1) ) ))(Data). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 248). -spec data_set(gleam@dynamic:dynamic_()) -> {ok, sparkleplug@sparkplug_b@payload@dataset:data_set()} | {error, list(gleam@dynamic:decode_error())}. data_set(Data) -> (gleam@dynamic:decode4( fun(Field@0, Field@1, Field@2, Field@3) -> {data_set, Field@0, Field@1, Field@2, Field@3} end, gleam@dynamic:optional_field( <<"num_of_columns"/utf8>>, fun gleam@dynamic:int/1 ), gleam@dynamic:field( <<"columns"/utf8>>, gleam@dynamic:list(fun gleam@dynamic:string/1) ), gleam@dynamic:field( <<"types"/utf8>>, gleam@dynamic:list(fun gleam@dynamic:int/1) ), gleam@dynamic:field(<<"rows"/utf8>>, gleam@dynamic:list(fun row/1)) ))(Data). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 332). -spec prop_val(gleam@dynamic:dynamic_()) -> {ok, sparkleplug@sparkplug_b@payload@propertyset:value()} | {error, list(gleam@dynamic:decode_error())}. prop_val(Data) -> (gleam@dynamic:any([fun(Val) -> _pipe = gleam@dynamic:int(Val), gleam@result:map( _pipe, fun(Field@0) -> {int_value, Field@0} end ) end, fun(Val@1) -> _pipe@1 = gleam@dynamic:float(Val@1), gleam@result:map( _pipe@1, fun(Field@0) -> {float_value, Field@0} end ) end, fun(Val@2) -> _pipe@2 = gleam@dynamic:bool(Val@2), gleam@result:map( _pipe@2, fun(Field@0) -> {boolean_value, Field@0} end ) end, fun(Val@3) -> _pipe@3 = gleam@dynamic:string(Val@3), gleam@result:map( _pipe@3, fun(Field@0) -> {string_value, Field@0} end ) end]))(Data). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 321). -spec property_value(gleam@dynamic:dynamic_()) -> {ok, sparkleplug@sparkplug_b@payload@propertyset:property_value()} | {error, list(gleam@dynamic:decode_error())}. property_value(Data) -> (gleam@dynamic:decode3( fun(Field@0, Field@1, Field@2) -> {property_value, Field@0, Field@1, Field@2} end, gleam@dynamic:optional_field(<<"type"/utf8>>, fun gleam@dynamic:int/1), gleam@dynamic:optional_field( <<"is_null"/utf8>>, fun gleam@dynamic:bool/1 ), gleam@dynamic:optional_field(<<"value"/utf8>>, fun prop_val/1) ))(Data). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 311). -spec property_set(gleam@dynamic:dynamic_()) -> {ok, sparkleplug@sparkplug_b@payload@propertyset:property_set()} | {error, list(gleam@dynamic:decode_error())}. property_set(Data) -> (gleam@dynamic:decode2( fun(Field@0, Field@1) -> {property_set, Field@0, Field@1} end, gleam@dynamic:field( <<"keys"/utf8>>, gleam@dynamic:list(fun gleam@dynamic:string/1) ), gleam@dynamic:field( <<"values"/utf8>>, gleam@dynamic:list(fun property_value/1) ) ))(Data). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 343). -spec property_set_list(gleam@dynamic:dynamic_()) -> {ok, sparkleplug@sparkplug_b@payload@propertyset:property_set_list()} | {error, list(gleam@dynamic:decode_error())}. property_set_list(Data) -> (gleam@dynamic:decode1( fun(Field@0) -> {property_set_list, Field@0} end, gleam@dynamic:field( <<"propertyset"/utf8>>, gleam@dynamic:list(fun property_set/1) ) ))(Data). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 373). -spec encode_data_set_val(sparkleplug@sparkplug_b@payload@dataset:value()) -> gleam@json:json(). encode_data_set_val(Value) -> case Value of {int_value, Val} -> gleam@json:int(Val); {long_value, Val@1} -> gleam@json:int(Val@1); {float_value, Val@2} -> gleam@json:float(Val@2); {double_value, Val@3} -> gleam@json:float(Val@3); {boolean_value, Val@4} -> gleam@json:bool(Val@4); {string_value, Val@5} -> gleam@json:string(Val@5); {extension_value, Val@5} -> gleam@json:string(Val@5) end. -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 367). -spec encode_data_set_value( sparkleplug@sparkplug_b@payload@dataset:data_set_value() ) -> gleam@json:json(). encode_data_set_value(Data_set_value) -> gleam@json:object( [{<<"value"/utf8>>, gleam@json:nullable( erlang:element(2, Data_set_value), fun encode_data_set_val/1 )}] ). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 361). -spec encode_row(sparkleplug@sparkplug_b@payload@dataset:row()) -> gleam@json:json(). encode_row(Row) -> gleam@json:object( [{<<"elements"/utf8>>, gleam@json:array( erlang:element(2, Row), fun encode_data_set_value/1 )}] ). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 352). -spec encode_data_set(sparkleplug@sparkplug_b@payload@dataset:data_set()) -> gleam@json:json(). encode_data_set(Dataset) -> gleam@json:object( [{<<"num_of_columns"/utf8>>, gleam@json:nullable( erlang:element(2, Dataset), fun gleam@json:int/1 )}, {<<"columns"/utf8>>, gleam@json:array( erlang:element(3, Dataset), fun gleam@json:string/1 )}, {<<"types"/utf8>>, gleam@json:array( erlang:element(4, Dataset), fun gleam@json:int/1 )}, {<<"rows"/utf8>>, gleam@json:array(erlang:element(5, Dataset), fun encode_row/1)}] ). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 394). -spec encode_parameter(sparkleplug@sparkplug_b@payload@metric:parameter()) -> gleam@json:json(). encode_parameter(Parameter) -> gleam@json:object( [{<<"name"/utf8>>, gleam@json:nullable( erlang:element(2, Parameter), fun gleam@json:string/1 )}, {<<"type"/utf8>>, gleam@json:nullable( erlang:element(3, Parameter), fun gleam@json:string/1 )}, {<<"value"/utf8>>, gleam@json:nullable( erlang:element(4, Parameter), fun gleam@json:string/1 )}] ). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 402). -spec encode_extension( sparkleplug@sparkplug_b@payload@metric:metric_value_extension() ) -> gleam@json:json(). encode_extension(Extension) -> gleam@json:object( [{<<"value"/utf8>>, gleam@json:string(erlang:element(2, Extension))}] ). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 384). -spec encode_template(sparkleplug@sparkplug_b@payload@metric:template()) -> gleam@json:json(). encode_template(Template) -> gleam@json:object( [{<<"version"/utf8>>, gleam@json:nullable( erlang:element(2, Template), fun gleam@json:string/1 )}, {<<"metrics"/utf8>>, gleam@json:array( erlang:element(3, Template), fun metric_to_json/1 )}, {<<"parameters"/utf8>>, gleam@json:array( erlang:element(4, Template), fun encode_parameter/1 )}, {<<"template_ref"/utf8>>, gleam@json:nullable( erlang:element(5, Template), fun gleam@json:string/1 )}, {<<"is_definition"/utf8>>, gleam@json:nullable( erlang:element(6, Template), fun gleam@json:bool/1 )}] ). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 89). -spec metric_to_json(sparkleplug@sparkplug_b@payload@metric:metric()) -> gleam@json:json(). metric_to_json(Metric) -> Encode_nullable_bool = fun(Nullable_bool_field) -> case Nullable_bool_field of {some, Val} -> gleam@json:bool(Val); none -> gleam@json:bool(false) end end, Encode_nullable_string = fun(Nullable_bitarray_field) -> case Nullable_bitarray_field of {some, Val@1} -> _pipe = Val@1, gleam@json:string(_pipe); none -> _pipe@1 = <<""/utf8>>, gleam@json:string(_pipe@1) end end, gleam@json:object( [{<<"name"/utf8>>, gleam@json:nullable( erlang:element(2, Metric), fun gleam@json:string/1 )}, {<<"alias"/utf8>>, gleam@json:nullable( erlang:element(3, Metric), fun gleam@json:int/1 )}, {<<"timestamp"/utf8>>, gleam@json:nullable( erlang:element(4, Metric), fun gleam@json:int/1 )}, {<<"dataType"/utf8>>, gleam@json:nullable( erlang:element(5, Metric), fun gleam@json:int/1 )}, {<<"is_historical"/utf8>>, Encode_nullable_bool(erlang:element(6, Metric))}, {<<"is_transient"/utf8>>, Encode_nullable_bool(erlang:element(7, Metric))}, {<<"is_null"/utf8>>, Encode_nullable_bool(erlang:element(8, Metric))}, {<<"metadata"/utf8>>, Encode_nullable_string(erlang:element(9, Metric))}, {<<"value"/utf8>>, gleam@json:nullable( erlang:element(10, Metric), fun value_to_json/1 )}] ). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 124). -spec value_to_json(sparkleplug@sparkplug_b@payload@metric:value()) -> gleam@json:json(). value_to_json(Value) -> case Value of {int_value, Val} -> gleam@json:int(Val); {long_value, Val@1} -> gleam@json:int(Val@1); {float_value, Val@2} -> gleam@json:float(Val@2); {double_value, Val@3} -> gleam@json:float(Val@3); {boolean_value, Val@4} -> gleam@json:bool(Val@4); {string_value, Val@5} -> gleam@json:string(Val@5); {bytes_value, Val@6} -> _pipe = gleam_stdlib:bit_array_base64_encode(Val@6, true), gleam@json:string(_pipe); {dataset_value, Val@7} -> encode_data_set(Val@7); {template_value, Val@8} -> encode_template(Val@8); {extension_value, Val@9} -> encode_extension(Val@9); {property_set_value, Val@10} -> encode_property_set(Val@10); {property_set_list_value, Val@11} -> encode_property_set_list(Val@11) end. -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 61). -spec sparkplug_payload_to_json_string( sparkleplug@sparkplug_b@payload@payload:payload() ) -> binary(). sparkplug_payload_to_json_string(Payload) -> Encode_nullable_string = fun(Nullable_bitarray_field) -> case Nullable_bitarray_field of {some, Val} -> _pipe = Val, gleam@json:string(_pipe); none -> _pipe@1 = <<""/utf8>>, gleam@json:string(_pipe@1) end end, _pipe@2 = gleam@json:object( [{<<"timestamp"/utf8>>, gleam@json:nullable( erlang:element(2, Payload), fun gleam@json:int/1 )}, {<<"metrics"/utf8>>, gleam@json:array( erlang:element(3, Payload), fun metric_to_json/1 )}, {<<"seq"/utf8>>, gleam@json:nullable( erlang:element(4, Payload), fun gleam@json:int/1 )}, {<<"uuid"/utf8>>, Encode_nullable_string(erlang:element(5, Payload))}, {<<"body"/utf8>>, Encode_nullable_string(erlang:element(6, Payload))}] ), gleam@json:to_string(_pipe@2). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 84). -spec metric_to_json_string(sparkleplug@sparkplug_b@payload@metric:metric()) -> binary(). metric_to_json_string(Metric) -> _pipe = metric_to_json(Metric), gleam@json:to_string(_pipe). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 421). -spec encode_prop_val(sparkleplug@sparkplug_b@payload@propertyset:value()) -> gleam@json:json(). encode_prop_val(Prop_val) -> case Prop_val of {int_value, Val} -> gleam@json:int(Val); {long_value, Val@1} -> gleam@json:int(Val@1); {float_value, Val@2} -> gleam@json:float(Val@2); {double_value, Val@3} -> gleam@json:float(Val@3); {boolean_value, Val@4} -> gleam@json:bool(Val@4); {string_value, Val@5} -> gleam@json:string(Val@5); {propertyset_value, Val@6} -> encode_property_set(Val@6); {propertysets_value, Val@7} -> encode_property_set_list(Val@7); {extension_value, Val@8} -> gleam@json:string(Val@8) end. -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 406). -spec encode_property_set( sparkleplug@sparkplug_b@payload@propertyset:property_set() ) -> gleam@json:json(). encode_property_set(Property_set) -> gleam@json:object( [{<<"keys"/utf8>>, gleam@json:array( erlang:element(2, Property_set), fun gleam@json:string/1 )}, {<<"values"/utf8>>, gleam@json:array( erlang:element(3, Property_set), fun encode_property_value/1 )}] ). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 413). -spec encode_property_value( sparkleplug@sparkplug_b@payload@propertyset:property_value() ) -> gleam@json:json(). encode_property_value(Property_value) -> gleam@json:object( [{<<"type"/utf8>>, gleam@json:nullable( erlang:element(2, Property_value), fun gleam@json:int/1 )}, {<<"is_null"/utf8>>, gleam@json:nullable( erlang:element(3, Property_value), fun gleam@json:bool/1 )}, {<<"value"/utf8>>, gleam@json:nullable( erlang:element(4, Property_value), fun encode_prop_val/1 )}] ). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 435). -spec encode_property_set_list( sparkleplug@sparkplug_b@payload@propertyset:property_set_list() ) -> gleam@json:json(). encode_property_set_list(Property_set_list) -> gleam@json:object( [{<<"propertyset"/utf8>>, gleam@json:array( erlang:element(2, Property_set_list), fun encode_property_set/1 )}] ). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 202). -spec value( gleam@dynamic:dynamic_(), sparkleplug@sparkplug_b@payload@datatype:data_type() ) -> {ok, sparkleplug@sparkplug_b@payload@metric:value()} | {error, list(gleam@dynamic:decode_error())}. value(Data, Data_type) -> case Data_type of unknown -> _pipe = gleam@dynamic:bit_array(Data), gleam@result:map(_pipe, fun(Field@0) -> {bytes_value, Field@0} end); int8 -> _pipe@1 = gleam@dynamic:int(Data), gleam@result:map(_pipe@1, fun(Field@0) -> {int_value, Field@0} end); int16 -> _pipe@1 = gleam@dynamic:int(Data), gleam@result:map(_pipe@1, fun(Field@0) -> {int_value, Field@0} end); int32 -> _pipe@1 = gleam@dynamic:int(Data), gleam@result:map(_pipe@1, fun(Field@0) -> {int_value, Field@0} end); int64 -> _pipe@1 = gleam@dynamic:int(Data), gleam@result:map(_pipe@1, fun(Field@0) -> {int_value, Field@0} end); u_int8 -> _pipe@1 = gleam@dynamic:int(Data), gleam@result:map(_pipe@1, fun(Field@0) -> {int_value, Field@0} end); u_int16 -> _pipe@1 = gleam@dynamic:int(Data), gleam@result:map(_pipe@1, fun(Field@0) -> {int_value, Field@0} end); u_int32 -> _pipe@1 = gleam@dynamic:int(Data), gleam@result:map(_pipe@1, fun(Field@0) -> {int_value, Field@0} end); u_int64 -> _pipe@1 = gleam@dynamic:int(Data), gleam@result:map(_pipe@1, fun(Field@0) -> {int_value, Field@0} end); float -> _pipe@2 = gleam@dynamic:float(Data), gleam@result:map( _pipe@2, fun(Field@0) -> {float_value, Field@0} end ); double -> _pipe@2 = gleam@dynamic:float(Data), gleam@result:map( _pipe@2, fun(Field@0) -> {float_value, Field@0} end ); boolean -> _pipe@3 = gleam@dynamic:bool(Data), gleam@result:map( _pipe@3, fun(Field@0) -> {boolean_value, Field@0} end ); string -> _pipe@4 = gleam@dynamic:string(Data), gleam@result:map( _pipe@4, fun(Field@0) -> {string_value, Field@0} end ); date_time -> _pipe@5 = gleam@dynamic:int(Data), gleam@result:map(_pipe@5, fun(Field@0) -> {int_value, Field@0} end); text -> _pipe@6 = gleam@dynamic:string(Data), gleam@result:map( _pipe@6, fun(Field@0) -> {string_value, Field@0} end ); uuid -> _pipe@7 = gleam@dynamic:string(Data), gleam@result:map( _pipe@7, fun(Field@0) -> {string_value, Field@0} end ); data_set -> _pipe@8 = data_set(Data), gleam@result:map( _pipe@8, fun(Field@0) -> {dataset_value, Field@0} end ); bytes -> _pipe@9 = gleam@dynamic:bit_array(Data), gleam@result:map( _pipe@9, fun(Field@0) -> {bytes_value, Field@0} end ); file -> _pipe@9 = gleam@dynamic:bit_array(Data), gleam@result:map( _pipe@9, fun(Field@0) -> {bytes_value, Field@0} end ); template -> _pipe@10 = template(Data), gleam@result:map( _pipe@10, fun(Field@0) -> {template_value, Field@0} end ); property_set -> _pipe@11 = property_set(Data), gleam@result:map( _pipe@11, fun(Field@0) -> {property_set_value, Field@0} end ); property_set_list -> _pipe@12 = property_set_list(Data), gleam@result:map( _pipe@12, fun(Field@0) -> {property_set_list_value, Field@0} end ); int8_array -> _pipe@13 = gleam@dynamic:bit_array(Data), gleam@result:map( _pipe@13, fun(Field@0) -> {bytes_value, Field@0} end ); int16_array -> _pipe@13 = gleam@dynamic:bit_array(Data), gleam@result:map( _pipe@13, fun(Field@0) -> {bytes_value, Field@0} end ); int32_array -> _pipe@13 = gleam@dynamic:bit_array(Data), gleam@result:map( _pipe@13, fun(Field@0) -> {bytes_value, Field@0} end ); int64_array -> _pipe@13 = gleam@dynamic:bit_array(Data), gleam@result:map( _pipe@13, fun(Field@0) -> {bytes_value, Field@0} end ); u_int8_array -> _pipe@13 = gleam@dynamic:bit_array(Data), gleam@result:map( _pipe@13, fun(Field@0) -> {bytes_value, Field@0} end ); u_int16_array -> _pipe@13 = gleam@dynamic:bit_array(Data), gleam@result:map( _pipe@13, fun(Field@0) -> {bytes_value, Field@0} end ); u_int32_array -> _pipe@13 = gleam@dynamic:bit_array(Data), gleam@result:map( _pipe@13, fun(Field@0) -> {bytes_value, Field@0} end ); u_int64_array -> _pipe@13 = gleam@dynamic:bit_array(Data), gleam@result:map( _pipe@13, fun(Field@0) -> {bytes_value, Field@0} end ); float_array -> _pipe@13 = gleam@dynamic:bit_array(Data), gleam@result:map( _pipe@13, fun(Field@0) -> {bytes_value, Field@0} end ); double_array -> _pipe@13 = gleam@dynamic:bit_array(Data), gleam@result:map( _pipe@13, fun(Field@0) -> {bytes_value, Field@0} end ); boolean_array -> _pipe@13 = gleam@dynamic:bit_array(Data), gleam@result:map( _pipe@13, fun(Field@0) -> {bytes_value, Field@0} end ); string_array -> _pipe@13 = gleam@dynamic:bit_array(Data), gleam@result:map( _pipe@13, fun(Field@0) -> {bytes_value, Field@0} end ); date_time_array -> _pipe@13 = gleam@dynamic:bit_array(Data), gleam@result:map( _pipe@13, fun(Field@0) -> {bytes_value, Field@0} end ) end. -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 157). -spec metric(gleam@dynamic:dynamic_()) -> {ok, sparkleplug@sparkplug_b@payload@metric:metric()} | {error, list(gleam@dynamic:decode_error())}. metric(Data) -> Metric_datatype = (case (gleam@dynamic:field( <<"dataType"/utf8>>, fun gleam@dynamic:string/1 ))(Data) of {ok, Str} -> _pipe = sparkleplug@sparkplug_b@payload@datatype:from_string(Str), gleam@result:unwrap(_pipe, bytes); {error, _} -> _pipe@1 = (gleam@dynamic:field( <<"dataType"/utf8>>, fun gleam@dynamic:int/1 ))(Data), _pipe@2 = gleam@result:unwrap(_pipe@1, 17), _pipe@3 = sparkleplug@sparkplug_b@payload@datatype:from_int(_pipe@2), gleam@result:unwrap(_pipe@3, bytes) end), (gleam@dynamic:decode9( fun(Field@0, Field@1, Field@2, Field@3, Field@4, Field@5, Field@6, Field@7, Field@8) -> {metric, Field@0, Field@1, Field@2, Field@3, Field@4, Field@5, Field@6, Field@7, Field@8} end, gleam@dynamic:optional_field( <<"name"/utf8>>, fun gleam@dynamic:string/1 ), gleam@dynamic:optional_field(<<"alias"/utf8>>, fun gleam@dynamic:int/1), gleam@dynamic:optional_field( <<"timestamp"/utf8>>, fun gleam@dynamic:int/1 ), gleam@dynamic:optional_field( <<"dataType"/utf8>>, fun(Data@1) -> case gleam@dynamic:string(Data@1) of {ok, Str@1} -> {ok, begin _pipe@4 = sparkleplug@sparkplug_b@payload@datatype:from_string( Str@1 ), _pipe@5 = gleam@result:map( _pipe@4, fun sparkleplug@sparkplug_b@payload@datatype:to_int/1 ), gleam@result:unwrap(_pipe@5, 17) end}; {error, _} -> gleam@dynamic:int(Data@1) end end ), gleam@dynamic:optional_field( <<"is_historical"/utf8>>, fun gleam@dynamic:bool/1 ), gleam@dynamic:optional_field( <<"is_transient"/utf8>>, fun gleam@dynamic:bool/1 ), gleam@dynamic:optional_field( <<"is_null"/utf8>>, fun gleam@dynamic:bool/1 ), gleam@dynamic:optional_field( <<"metadata"/utf8>>, fun gleam@dynamic:string/1 ), gleam@dynamic:optional_field( <<"value"/utf8>>, fun(Data@2) -> value(Data@2, Metric_datatype) end ) ))(Data). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 54). -spec string_to_metric(binary()) -> {ok, sparkleplug@sparkplug_b@payload@metric:metric()} | {error, gleam@json:decode_error()}. string_to_metric(Metric_string) -> gleam@json:decode(Metric_string, fun metric/1). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 141). -spec json_to_sparkplug_payload(binary()) -> {ok, sparkleplug@sparkplug_b@payload@payload:payload()} | {error, gleam@json:decode_error()}. json_to_sparkplug_payload(Json_string) -> Sparkplug_decoder = gleam@dynamic:decode5( fun(Field@0, Field@1, Field@2, Field@3, Field@4) -> {payload, Field@0, Field@1, Field@2, Field@3, Field@4} end, gleam@dynamic:optional_field( <<"timestamp"/utf8>>, fun gleam@dynamic:int/1 ), gleam@dynamic:field( <<"metrics"/utf8>>, gleam@dynamic:list(fun metric/1) ), gleam@dynamic:optional_field(<<"seq"/utf8>>, fun gleam@dynamic:int/1), gleam@dynamic:optional_field( <<"uuid"/utf8>>, fun gleam@dynamic:string/1 ), gleam@dynamic:optional_field( <<"body"/utf8>>, fun gleam@dynamic:string/1 ) ), gleam@json:decode(Json_string, Sparkplug_decoder). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 27). -spec string_to_sparkplug_payload(binary()) -> {ok, sparkleplug@sparkplug_b@payload@payload:payload()} | {error, binary()}. string_to_sparkplug_payload(Payload_string) -> _pipe = json_to_sparkplug_payload(Payload_string), gleam@result:map_error(_pipe, fun(Error_val) -> case Error_val of unexpected_end_of_input -> <<"Unexpected end of input"/utf8>>; {unexpected_byte, Message} -> <<"Unexpected byte: "/utf8, Message/binary>>; {unexpected_format, Inner_errors} -> Maybe_first_error = gleam@list:first(Inner_errors), case Maybe_first_error of {ok, Error} -> <<<<<<"Unexpected format: Expected "/utf8, (erlang:element(2, Error))/binary>>/binary, "; found "/utf8>>/binary, (erlang:element(3, Error))/binary>>; {error, _} -> <<"Unexpected format: No inner errors"/utf8>> end; {unexpected_sequence, Message@1} -> <<"Unexpected sequence: "/utf8, Message@1/binary>> end end). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 16). -spec bit_array_to_sparkplug_payload(bitstring()) -> {ok, sparkleplug@sparkplug_b@payload@payload:payload()} | {error, binary()}. bit_array_to_sparkplug_payload(Payload_bit_array) -> _pipe = gleam@bit_array:to_string(Payload_bit_array), _pipe@1 = gleam@result:map_error( _pipe, fun(_) -> <<"Couldn't convert the bit array into a string."/utf8>> end ), gleam@result:'try'(_pipe@1, fun string_to_sparkplug_payload/1). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 300). -spec parameter(gleam@dynamic:dynamic_()) -> {ok, sparkleplug@sparkplug_b@payload@metric:parameter()} | {error, list(gleam@dynamic:decode_error())}. parameter(Data) -> (gleam@dynamic:decode3( fun(Field@0, Field@1, Field@2) -> {parameter, Field@0, Field@1, Field@2} end, gleam@dynamic:optional_field( <<"name"/utf8>>, fun gleam@dynamic:string/1 ), gleam@dynamic:optional_field( <<"type"/utf8>>, fun gleam@dynamic:string/1 ), gleam@dynamic:optional_field( <<"value"/utf8>>, fun gleam@dynamic:string/1 ) ))(Data). -file("C:\\Users\\kavan\\Documents\\GitHub\\sparkleplug\\src\\sparkleplug.gleam", 287). -spec template(gleam@dynamic:dynamic_()) -> {ok, sparkleplug@sparkplug_b@payload@metric:template()} | {error, list(gleam@dynamic:decode_error())}. template(Data) -> (gleam@dynamic:decode5( fun(Field@0, Field@1, Field@2, Field@3, Field@4) -> {template, Field@0, Field@1, Field@2, Field@3, Field@4} end, gleam@dynamic:optional_field( <<"version"/utf8>>, fun gleam@dynamic:string/1 ), gleam@dynamic:field( <<"metrics"/utf8>>, gleam@dynamic:list(fun metric/1) ), gleam@dynamic:field( <<"parameters"/utf8>>, gleam@dynamic:list(fun parameter/1) ), gleam@dynamic:optional_field( <<"template_ref"/utf8>>, fun gleam@dynamic:string/1 ), gleam@dynamic:optional_field( <<"is_definition"/utf8>>, fun gleam@dynamic:bool/1 ) ))(Data).