mirror of
https://github.com/jimeh/go-midjourney.git
synced 2026-02-19 01:46:41 +00:00
38 lines
568 B
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
|
|
}
|