-module(postgleam@codec@oid_codec). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/postgleam/codec/oid_codec.gleam"). -export([encode/1, decode/1, matcher/0]). -file("src/postgleam/codec/oid_codec.gleam", 42). -spec encode(postgleam@value:value()) -> {ok, bitstring()} | {error, binary()}. encode(Val) -> case Val of {oid, N} -> case (N >= 0) andalso (N =< 4294967295) of true -> {ok, <>}; false -> {error, <<"oid codec: value out of range (0..4294967295)"/utf8>>} end; _ -> {error, <<"oid codec: expected Oid value"/utf8>>} end. -file("src/postgleam/codec/oid_codec.gleam", 53). -spec decode(bitstring()) -> {ok, postgleam@value:value()} | {error, binary()}. decode(Data) -> case Data of <> -> {ok, {oid, N}}; _ -> {error, <<"oid codec: expected 4 bytes"/utf8>>} end. -file("src/postgleam/codec/oid_codec.gleam", 32). -spec build(integer()) -> postgleam@codec:codec(). build(Type_oid) -> {codec, <<"oid"/utf8>>, Type_oid, binary, fun encode/1, fun decode/1}. -file("src/postgleam/codec/oid_codec.gleam", 22). -spec matcher() -> postgleam@codec:codec_matcher(). matcher() -> {codec_matcher, <<"oid"/utf8>>, [26, 24, 2205, 2206, 28, 29], none, binary, fun build/1}.