visibility_enum_gen.go•1.52 kB
// Code generated by enumerator. DO NOT EDIT.
package visibility
import (
"database/sql/driver"
"fmt"
)
type Visibility struct {
v visibilityEnum
}
var (
VisibilityDraft = Visibility{visibilityDraft}
VisibilityUnlisted = Visibility{visibilityUnlisted}
VisibilityReview = Visibility{visibilityReview}
VisibilityPublished = Visibility{visibilityPublished}
)
func (r Visibility) Format(f fmt.State, verb rune) {
switch verb {
case 's':
fmt.Fprint(f, r.v)
case 'q':
fmt.Fprintf(f, "%q", r.String())
default:
fmt.Fprint(f, r.v)
}
}
func (r Visibility) String() string {
return string(r.v)
}
func (r Visibility) MarshalText() ([]byte, error) {
return []byte(r.v), nil
}
func (r *Visibility) UnmarshalText(__iNpUt__ []byte) error {
s, err := NewVisibility(string(__iNpUt__))
if err != nil {
return err
}
*r = s
return nil
}
func (r Visibility) Value() (driver.Value, error) {
return r.v, nil
}
func (r *Visibility) Scan(__iNpUt__ any) error {
s, err := NewVisibility(fmt.Sprint(__iNpUt__))
if err != nil {
return err
}
*r = s
return nil
}
func NewVisibility(__iNpUt__ string) (Visibility, error) {
switch __iNpUt__ {
case string(visibilityDraft):
return VisibilityDraft, nil
case string(visibilityUnlisted):
return VisibilityUnlisted, nil
case string(visibilityReview):
return VisibilityReview, nil
case string(visibilityPublished):
return VisibilityPublished, nil
default:
return Visibility{}, fmt.Errorf("invalid value for type 'Visibility': '%s'", __iNpUt__)
}
}