Files
go-midjourney/algorithm_version.go

38 lines
568 B
Go

package midjourney
import (
"encoding/json"
"strconv"
)
type AlgorithmVersion string
func (av *AlgorithmVersion) MarshalJSON() ([]byte, error) {
n, err := strconv.Atoi(string(*av))
if err != nil {
return json.Marshal(string(*av))
}
return json.Marshal(n)
}
func (av *AlgorithmVersion) UnmarshalJSON(b []byte) error {
var n int
err := json.Unmarshal(b, &n)
if err == nil {
*av = AlgorithmVersion(strconv.Itoa(n))
return nil
}
var s string
err = json.Unmarshal(b, &s)
if err == nil {
*av = AlgorithmVersion(s)
return nil
}
return err
}