Add unsafe_encode/2 to forego size check
All checks were successful
Gajumaru Serialization Tests / tests (push) Successful in -2m49s
All checks were successful
Gajumaru Serialization Tests / tests (push) Successful in -2m49s
This commit is contained in:
parent
4f97dd1bd1
commit
4cc6adee2e
@ -16,9 +16,7 @@
|
||||
-export([encode_keypair/1,
|
||||
safe_decode_keypair/1]).
|
||||
|
||||
-ifdef(TEST).
|
||||
-export([encode_/2]). %% Encode without size checks
|
||||
-endif.
|
||||
-export([unsafe_encode/2]). %% Encode without size checks
|
||||
|
||||
-export_type([encoded/0,
|
||||
known_type/0]).
|
||||
@ -114,12 +112,12 @@ encode(id_hash, Payload) ->
|
||||
encode(Type, Payload) ->
|
||||
case type_size_check(Type, Payload) of
|
||||
ok ->
|
||||
encode_(Type, Payload);
|
||||
unsafe_encode(Type, Payload);
|
||||
{error, Reason} ->
|
||||
erlang:error(Reason)
|
||||
end.
|
||||
|
||||
encode_(Type, Payload) ->
|
||||
unsafe_encode(Type, Payload) ->
|
||||
Pfx = type2pfx(Type),
|
||||
Enc = case type2enc(Type) of
|
||||
?BASE58 -> base58_check(Payload);
|
||||
|
||||
@ -91,7 +91,7 @@ encode_decode_test_(Types) ->
|
||||
fun(S) ->
|
||||
Key = <<42:S/unit:8>>,
|
||||
?assertError(incorrect_size, ?TEST_MODULE:encode(Type, Key)),
|
||||
EncodedKey = ?TEST_MODULE:encode_(Type, Key), %% no size check
|
||||
EncodedKey = ?TEST_MODULE:unsafe_encode(Type, Key), %% no size check
|
||||
{error, invalid_encoding} = ?TEST_MODULE:safe_decode(Type, EncodedKey)
|
||||
end,
|
||||
CheckIllegalSize(0),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user