package internal type Kind uint const ( KindUnknown Kind = iota KindBuy KindSell KindSplit sentinelKind ) // String returns a unique string value for Kind k func (k Kind) String() string { switch k { case KindBuy: return "buy" case KindSell: return "sell" case KindSplit: return "split" default: return "unknown" } } // Valid returns true if k is an accepted value for the Kind type func (k Kind) Valid() bool { return k > 0 && k < sentinelKind } // Is returns true when k and o are valid and equal. func (k Kind) Is(o any) bool { other, ok := o.(Kind) return ok && k.Valid() && k == other }