19 lines
363 B
Go
19 lines
363 B
Go
package storm
|
|
|
|
import "github.com/asdine/storm/codec"
|
|
|
|
// toBytes turns an interface into a slice of bytes
|
|
func toBytes(key interface{}, encoder codec.EncodeDecoder) ([]byte, error) {
|
|
if key == nil {
|
|
return nil, nil
|
|
}
|
|
if k, ok := key.([]byte); ok {
|
|
return k, nil
|
|
}
|
|
if k, ok := key.(string); ok {
|
|
return []byte(k), nil
|
|
}
|
|
|
|
return encoder.Encode(key)
|
|
}
|