Add compile-time checks that privateSignature implements json.Marshaler and json.Unmarshaler

This commit is contained in:
Miloslav Trmač
2016-05-05 14:59:43 +02:00
parent 14686616c1
commit b5e8413d22

View File

@@ -36,6 +36,9 @@ type privateSignature struct {
Signature
}
// Compile-time check that privateSignature implements json.Marshaler
var _ json.Marshaler = (*privateSignature)(nil)
// MarshalJSON implements the json.Marshaler interface.
func (s privateSignature) MarshalJSON() ([]byte, error) {
return s.marshalJSONWithVariables(time.Now().UTC().Unix(), signatureCreatorID)
@@ -103,6 +106,9 @@ func stringField(m map[string]interface{}, fieldName string) (string, error) {
return v, nil
}
// Compile-time check that privateSignature implements json.Unmarshaler
var _ json.Unmarshaler = (*privateSignature)(nil)
// UnmarshalJSON implements the json.Unmarshaler interface
func (s *privateSignature) UnmarshalJSON(data []byte) error {
var untyped interface{}