mirror of
https://github.com/oarkflow/mq.git
synced 2025-10-06 08:26:52 +08:00
feat: remove un-necessary dependencies
This commit is contained in:
37
codec/serializer.go
Normal file
37
codec/serializer.go
Normal file
@@ -0,0 +1,37 @@
|
||||
package codec
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
)
|
||||
|
||||
type MarshallerFunc func(v any) ([]byte, error)
|
||||
|
||||
type UnmarshallerFunc func(data []byte, v any) error
|
||||
|
||||
func (f MarshallerFunc) Marshal(v any) ([]byte, error) {
|
||||
return f(v)
|
||||
}
|
||||
|
||||
func (f UnmarshallerFunc) Unmarshal(data []byte, v any) error {
|
||||
return f(data, v)
|
||||
}
|
||||
|
||||
var defaultMarshaller MarshallerFunc = json.Marshal
|
||||
|
||||
var defaultUnmarshaller UnmarshallerFunc = json.Unmarshal
|
||||
|
||||
func SetMarshaller(marshaller MarshallerFunc) {
|
||||
defaultMarshaller = marshaller
|
||||
}
|
||||
|
||||
func SetUnmarshaller(unmarshaller UnmarshallerFunc) {
|
||||
defaultUnmarshaller = unmarshaller
|
||||
}
|
||||
|
||||
func Marshal(v any) ([]byte, error) {
|
||||
return defaultMarshaller(v)
|
||||
}
|
||||
|
||||
func Unmarshal(data []byte, v any) error {
|
||||
return defaultUnmarshaller(data, v)
|
||||
}
|
Reference in New Issue
Block a user