generic: move StringInt padding to string method

This allows the implementation to be reused for url and filename
formatting in the downloader.

Signed-off-by: Yonah <contrib@gensokyo.uk>
This commit is contained in:
Yonah 2025-09-17 08:02:12 +09:00
parent ea54772c03
commit 2d6b87702d
Signed by: yonah
SSH Key Fingerprint: SHA256:vnQvK8+XXH9Tbni2AV1a/8qdVK/zPcXw52GM0ruQvwA

View File

@ -39,16 +39,17 @@ func (s *NullableString) UnmarshalJSON(data []byte) (err error) {
// StringInt is a JSON string representing an integer.
type StringInt int
func (i *StringInt) MarshalJSON() ([]byte, error) {
s := strconv.Itoa(int(*i))
func (i *StringInt) String() (s string) {
s = strconv.Itoa(int(*i))
if len(s) <= 4 {
s = strings.Repeat("0", 4-len(s)) + s
} else if len(s) < 6 {
s = strings.Repeat("0", 6-len(s)) + s
}
return json.Marshal(s)
return
}
func (i *StringInt) MarshalJSON() ([]byte, error) { return json.Marshal(i.String()) }
func (i *StringInt) UnmarshalJSON(data []byte) (err error) {
var v string
err = json.Unmarshal(data, &v)