-module(postgleam@codec@macaddr). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/postgleam/codec/macaddr.gleam"). -export([encode/1, decode/1, matcher/0]). -file("src/postgleam/codec/macaddr.gleam", 25). -spec encode(postgleam@value:value()) -> {ok, bitstring()} | {error, binary()}. encode(Val) -> case Val of {macaddr, Data} -> case erlang:byte_size(Data) of 6 -> {ok, Data}; _ -> {error, <<"macaddr codec: expected 6-byte MAC address"/utf8>>} end; _ -> {error, <<"macaddr codec: expected Macaddr value"/utf8>>} end. -file("src/postgleam/codec/macaddr.gleam", 36). -spec decode(bitstring()) -> {ok, postgleam@value:value()} | {error, binary()}. decode(Data) -> case erlang:byte_size(Data) of 6 -> {ok, {macaddr, Data}}; _ -> {error, <<"macaddr codec: expected 6 bytes"/utf8>>} end. -file("src/postgleam/codec/macaddr.gleam", 21). -spec build(integer()) -> postgleam@codec:codec(). build(Type_oid) -> {codec, <<"macaddr"/utf8>>, Type_oid, binary, fun encode/1, fun decode/1}. -file("src/postgleam/codec/macaddr.gleam", 11). -spec matcher() -> postgleam@codec:codec_matcher(). matcher() -> {codec_matcher, <<"macaddr"/utf8>>, [829], none, binary, fun build/1}.