Add the #oid{} record to differentiate from a formatted hash
This commit is contained in:
@@ -1,12 +1,14 @@
|
||||
-module(geef_oid).
|
||||
|
||||
-include("geef_records.hlr").
|
||||
-export([parse/1, fmt/1]).
|
||||
|
||||
-spec fmt(binary()) -> binary().
|
||||
fmt(Oid) ->
|
||||
-spec fmt(oid()) -> binary().
|
||||
fmt(#oid{oid=Oid}) ->
|
||||
geef:oid_fmt(Oid).
|
||||
|
||||
|
||||
-spec parse(binary()) -> binary().
|
||||
-spec parse(binary()) -> oid().
|
||||
parse(Sha) ->
|
||||
geef:oid_parse(Sha).
|
||||
Oid = geef:oid_parse(Sha),
|
||||
#oid{oid=Oid}.
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
-record(ref, {handle, type :: atom()}).
|
||||
-record(repo, {handle}).
|
||||
-record(odb, {handle}).
|
||||
-record(oid, {oid}).
|
||||
|
||||
-type ref() :: #ref{}.
|
||||
-type repo() :: #repo{}.
|
||||
-type odb() :: #odb{}.
|
||||
-type oid() :: #oid{}.
|
||||
|
||||
@@ -27,6 +27,9 @@ resolve(#ref{handle=Handle}) ->
|
||||
Other
|
||||
end.
|
||||
|
||||
-spec target(ref()) -> binary().
|
||||
target(#ref{handle=Handle}) ->
|
||||
geef:reference_target(Handle).
|
||||
-spec target(ref()) -> binary() | oid().
|
||||
target(#ref{handle=Handle,type=symbolic}) ->
|
||||
geef:reference_target(Handle);
|
||||
target(#ref{handle=Handle,type=oid}) ->
|
||||
Oid = geef:reference_target(Handle),
|
||||
#oid{oid=Oid}.
|
||||
|
||||
Reference in New Issue
Block a user