initial commit

This commit is contained in:
m.zare
2026-04-10 18:25:21 +03:30
commit 77ca6c34a3
263 changed files with 34470 additions and 0 deletions

22
pkg/enum/json.go Normal file
View File

@@ -0,0 +1,22 @@
package enum
import (
"encoding/json"
"fmt"
"strings"
)
func MarshalEnum[T fmt.Stringer](val T) ([]byte, error) {
return json.Marshal(val.String())
}
func UnmarshalEnum[T fmt.Stringer](b []byte, enumValues []T) (T, error) {
var zero T
s := strings.Trim(string(b), `"`)
for _, val := range enumValues {
if val.String() == s {
return val, nil
}
}
return zero, fmt.Errorf("invalid value: %s", s)
}