From ea4d7466dbeeb65a7b860962ee5a7e2e5a18b2ce Mon Sep 17 00:00:00 2001 From: Oleg Kovalov Date: Tue, 7 Nov 2023 13:51:03 +0100 Subject: [PATCH] Use any instead of interface{} (#145) --- algo_hs.go | 2 +- audience.go | 4 ++-- build.go | 4 ++-- build_test.go | 6 +++--- jwt.go | 2 +- jwt_bench_test.go | 2 +- parse.go | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/algo_hs.go b/algo_hs.go index e915642..d428714 100644 --- a/algo_hs.go +++ b/algo_hs.go @@ -30,7 +30,7 @@ func newHS(alg Algorithm, key []byte) (*HSAlg, error) { hash: hash, key: key, hashPool: &sync.Pool{ - New: func() interface{} { + New: func() any { return hmac.New(hash.New, key) }, }, diff --git a/audience.go b/audience.go index 4d47715..b467389 100644 --- a/audience.go +++ b/audience.go @@ -20,7 +20,7 @@ func (a Audience) MarshalJSON() ([]byte, error) { // UnmarshalJSON implements json.Unmarshaler interface. func (a *Audience) UnmarshalJSON(b []byte) error { - var v interface{} + var v any if err := json.Unmarshal(b, &v); err != nil { return ErrAudienceInvalidFormat } @@ -29,7 +29,7 @@ func (a *Audience) UnmarshalJSON(b []byte) error { case string: *a = Audience{v} return nil - case []interface{}: + case []any: aud := make(Audience, len(v)) for i := range v { v, ok := v[i].(string) diff --git a/build.go b/build.go index 3a64ab5..2e18e5c 100644 --- a/build.go +++ b/build.go @@ -47,7 +47,7 @@ func NewBuilder(signer Signer, opts ...BuilderOption) *Builder { // Build used to create and encode JWT with a provided claims. // If claims param is of type []byte or string then it's treated as a marshaled JSON. // In other words you can pass already marshaled claims. -func (b *Builder) Build(claims interface{}) (*Token, error) { +func (b *Builder) Build(claims any) (*Token, error) { rawClaims, err := encodeClaims(claims) if err != nil { return nil, err @@ -89,7 +89,7 @@ func (b *Builder) Build(claims interface{}) (*Token, error) { return t, nil } -func encodeClaims(claims interface{}) ([]byte, error) { +func encodeClaims(claims any) ([]byte, error) { switch claims := claims.(type) { case []byte: return claims, nil diff --git a/build_test.go b/build_test.go index 4826991..5033d34 100644 --- a/build_test.go +++ b/build_test.go @@ -7,7 +7,7 @@ import ( ) func TestBuild(t *testing.T) { - f := func(signer Signer, verifier Verifier, claims interface{}) { + f := func(signer Signer, verifier Verifier, claims any) { t.Helper() token, err := NewBuilder(signer).Build(claims) @@ -163,7 +163,7 @@ func TestBuildClaims(t *testing.T) { s := mustSigner(NewSignerHS(HS256, key)) v := mustVerifier(NewVerifierHS(HS256, key)) - f := func(claims interface{}, want string) { + f := func(claims any, want string) { token, err := NewBuilder(s).Build(claims) if err != nil { t.Fatal(err) @@ -208,7 +208,7 @@ func TestBuildClaims(t *testing.T) { } func TestBuildMalformed(t *testing.T) { - f := func(signer Signer, claims interface{}) { + f := func(signer Signer, claims any) { t.Helper() _, err := NewBuilder(signer).Build(claims) diff --git a/jwt.go b/jwt.go index c3428a3..9f63974 100644 --- a/jwt.go +++ b/jwt.go @@ -56,7 +56,7 @@ func (t *Token) Claims() json.RawMessage { } // DecodeClaims into a given parameter. -func (t *Token) DecodeClaims(dst interface{}) error { +func (t *Token) DecodeClaims(dst any) error { return json.Unmarshal(t.claims, dst) } diff --git a/jwt_bench_test.go b/jwt_bench_test.go index c313d4f..2ffe76d 100644 --- a/jwt_bench_test.go +++ b/jwt_bench_test.go @@ -193,6 +193,6 @@ func runVerifyBench(b *testing.B, builder *jwt.Builder, verifier jwt.Verifier) { sink(dummy) } -func sink(v interface{}) { +func sink(v any) { fmt.Fprint(io.Discard, v) } diff --git a/parse.go b/parse.go index 29b83cd..cc5f29a 100644 --- a/parse.go +++ b/parse.go @@ -19,7 +19,7 @@ func Parse(raw []byte, verifier Verifier) (*Token, error) { } // ParseClaims decodes a token claims and verifies it's signature. -func ParseClaims(raw []byte, verifier Verifier, claims interface{}) error { +func ParseClaims(raw []byte, verifier Verifier, claims any) error { token, err := Parse(raw, verifier) if err != nil { return err