1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
// Code generated by "string-enumer -t OrderStatus --text -o ./order_gen.go ."; DO NOT EDIT.
package lulu
import (
"fmt"
)
// validOrderStatusValues contains a map of all valid OrderStatus values for easy lookup
var validOrderStatusValues = map[OrderStatus]struct{}{
OrderCreated: {},
OrderUnpaid: {},
OrderPaymentInProgress: {},
OrderProductionDelayed: {},
OrderProductionReady: {},
OrderInProduction: {},
OrderShipped: {},
OrderDelivered: {},
OrderRejected: {},
OrderCanceled: {},
}
// Valid validates if a value is a valid OrderStatus
func (v OrderStatus) Valid() bool {
_, ok := validOrderStatusValues[v]
return ok
}
// OrderStatusValues returns a list of all (valid) OrderStatus values
func OrderStatusValues() []OrderStatus {
return []OrderStatus{
OrderCreated,
OrderUnpaid,
OrderPaymentInProgress,
OrderProductionDelayed,
OrderProductionReady,
OrderInProduction,
OrderShipped,
OrderDelivered,
OrderRejected,
OrderCanceled,
}
}
// UnmarshalText takes a text, verifies that it is a correct OrderStatus and unmarshals it
func (v *OrderStatus) UnmarshalText(text []byte) error {
if valid := OrderStatus(text).Valid(); !valid {
return fmt.Errorf("not valid value for OrderStatus: %s", text)
}
*v = OrderStatus(text)
return nil
}
|