dal/pkg/filters/utils.go
Anton Nesterov d28d976b8e
[wip] dal golang
Signed-off-by: Anton Nesterov <anton@demiurg.io>
2024-08-07 21:16:40 +02:00

30 lines
410 B
Go

package filters
import (
"encoding/json"
)
func FromJson[T Filter](data interface{}) *T {
var t T
str, ok := data.(string)
if ok {
err := json.Unmarshal([]byte(str), &t)
if err != nil {
return nil
}
}
m, ok := data.(map[string]interface{})
if ok {
s, err := json.Marshal(m)
if err != nil {
return nil
}
e := json.Unmarshal(s, &t)
if e != nil {
return nil
}
}
return &t
}