@@ -28,7 +28,7 @@ const (
28
28
29
29
// ProtectedHeader contains parameters that are to be cryptographically
30
30
// protected.
31
- type ProtectedHeader map [interface {}] interface {}
31
+ type ProtectedHeader map [any ] any
32
32
33
33
// MarshalCBOR encodes the protected header into a CBOR bstr object.
34
34
// A zero-length header is encoded as a zero-length string rather than as a
@@ -42,7 +42,7 @@ func (h ProtectedHeader) MarshalCBOR() ([]byte, error) {
42
42
if err != nil {
43
43
return nil , fmt .Errorf ("protected header: %w" , err )
44
44
}
45
- encoded , err = encMode .Marshal (map [interface {}] interface {} (h ))
45
+ encoded , err = encMode .Marshal (map [any ] any (h ))
46
46
if err != nil {
47
47
return nil , err
48
48
}
@@ -75,7 +75,7 @@ func (h *ProtectedHeader) UnmarshalCBOR(data []byte) error {
75
75
if err := validateHeaderLabelCBOR (encoded ); err != nil {
76
76
return err
77
77
}
78
- var header map [interface {}] interface {}
78
+ var header map [any ] any
79
79
if err := decMode .Unmarshal (encoded , & header ); err != nil {
80
80
return err
81
81
}
@@ -129,7 +129,7 @@ func (h ProtectedHeader) Algorithm() (Algorithm, error) {
129
129
// processing a message is required to understand.
130
130
//
131
131
// Reference: https://datatracker.ietf.org/doc/html/rfc8152#section-3.1
132
- func (h ProtectedHeader ) Critical () ([]interface {} , error ) {
132
+ func (h ProtectedHeader ) Critical () ([]any , error ) {
133
133
value , ok := h [HeaderLabelCritical ]
134
134
if ! ok {
135
135
return nil , nil
@@ -138,12 +138,12 @@ func (h ProtectedHeader) Critical() ([]interface{}, error) {
138
138
if err != nil {
139
139
return nil , err
140
140
}
141
- return value .([]interface {} ), nil
141
+ return value .([]any ), nil
142
142
}
143
143
144
144
// ensureCritical ensures all critical headers are present in the protected bucket.
145
- func ensureCritical (value interface {} , headers map [interface {}] interface {} ) error {
146
- labels , ok := value .([]interface {} )
145
+ func ensureCritical (value any , headers map [any ] any ) error {
146
+ labels , ok := value .([]any )
147
147
if ! ok {
148
148
return errors .New ("invalid crit header" )
149
149
}
@@ -164,7 +164,7 @@ func ensureCritical(value interface{}, headers map[interface{}]interface{}) erro
164
164
165
165
// UnprotectedHeader contains parameters that are not cryptographically
166
166
// protected.
167
- type UnprotectedHeader map [interface {}] interface {}
167
+ type UnprotectedHeader map [any ] any
168
168
169
169
// MarshalCBOR encodes the unprotected header into a CBOR map object.
170
170
// A zero-length header is encoded as a zero-length map (encoded as h'a0').
@@ -175,7 +175,7 @@ func (h UnprotectedHeader) MarshalCBOR() ([]byte, error) {
175
175
if err := validateHeaderParameters (h , false ); err != nil {
176
176
return nil , fmt .Errorf ("unprotected header: %w" , err )
177
177
}
178
- return encMode .Marshal (map [interface {}] interface {} (h ))
178
+ return encMode .Marshal (map [any ] any (h ))
179
179
}
180
180
181
181
// UnmarshalCBOR decodes a CBOR map object into UnprotectedHeader.
@@ -197,7 +197,7 @@ func (h *UnprotectedHeader) UnmarshalCBOR(data []byte) error {
197
197
if err := validateHeaderLabelCBOR (data ); err != nil {
198
198
return err
199
199
}
200
- var header map [interface {}] interface {}
200
+ var header map [any ] any
201
201
if err := decMode .Unmarshal (data , & header ); err != nil {
202
202
return err
203
203
}
@@ -376,14 +376,14 @@ func (h *Headers) ensureIV() error {
376
376
}
377
377
378
378
// hasLabel returns true if h contains label.
379
- func hasLabel (h map [interface {}] interface {} , label interface {} ) bool {
379
+ func hasLabel (h map [any ] any , label any ) bool {
380
380
_ , ok := h [label ]
381
381
return ok
382
382
}
383
383
384
384
// validateHeaderParameters validates all headers conform to the spec.
385
- func validateHeaderParameters (h map [interface {}] interface {} , protected bool ) error {
386
- existing := make (map [interface {} ]struct {}, len (h ))
385
+ func validateHeaderParameters (h map [any ] any , protected bool ) error {
386
+ existing := make (map [any ]struct {}, len (h ))
387
387
for label , value := range h {
388
388
// Validate that all header labels are integers or strings.
389
389
// Reference: https://datatracker.ietf.org/doc/html/rfc8152#section-1.4
@@ -443,7 +443,7 @@ func validateHeaderParameters(h map[interface{}]interface{}, protected bool) err
443
443
}
444
444
445
445
// canUint reports whether v can be used as a CBOR uint type.
446
- func canUint (v interface {} ) bool {
446
+ func canUint (v any ) bool {
447
447
switch v := v .(type ) {
448
448
case uint , uint8 , uint16 , uint32 , uint64 :
449
449
return true
@@ -462,7 +462,7 @@ func canUint(v interface{}) bool {
462
462
}
463
463
464
464
// canInt reports whether v can be used as a CBOR int type.
465
- func canInt (v interface {} ) bool {
465
+ func canInt (v any ) bool {
466
466
switch v .(type ) {
467
467
case int , int8 , int16 , int32 , int64 ,
468
468
uint , uint8 , uint16 , uint32 , uint64 :
@@ -472,20 +472,20 @@ func canInt(v interface{}) bool {
472
472
}
473
473
474
474
// canTstr reports whether v can be used as a CBOR tstr type.
475
- func canTstr (v interface {} ) bool {
475
+ func canTstr (v any ) bool {
476
476
_ , ok := v .(string )
477
477
return ok
478
478
}
479
479
480
480
// canBstr reports whether v can be used as a CBOR bstr type.
481
- func canBstr (v interface {} ) bool {
481
+ func canBstr (v any ) bool {
482
482
_ , ok := v .([]byte )
483
483
return ok
484
484
}
485
485
486
486
// normalizeLabel tries to cast label into a int64 or a string.
487
487
// Returns (nil, false) if the label type is not valid.
488
- func normalizeLabel (label interface {} ) (interface {} , bool ) {
488
+ func normalizeLabel (label any ) (any , bool ) {
489
489
switch v := label .(type ) {
490
490
case int :
491
491
label = int64 (v )
@@ -517,7 +517,7 @@ func normalizeLabel(label interface{}) (interface{}, bool) {
517
517
518
518
// headerLabelValidator is used to validate the header label of a COSE header.
519
519
type headerLabelValidator struct {
520
- value interface {}
520
+ value any
521
521
}
522
522
523
523
// String prints the value without brackets `{}`. Useful in error printing.
0 commit comments