forked from TrueCloudLab/frostfs-api-go
[#310] *: Implement string converters for enumerations
Implement `String` / `FromString` method pair in all levels of enum definitions. From now `String()` returns canonical protojson-compatible values. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
parent
fdea892db7
commit
616b4b71a1
25 changed files with 1053 additions and 76 deletions
|
@ -34,13 +34,36 @@ func TypeFromV2(t object.Type) Type {
|
|||
}
|
||||
}
|
||||
|
||||
// String returns string representation of Type.
|
||||
//
|
||||
// String mapping:
|
||||
// * TypeTombstone: TOMBSTONE;
|
||||
// * TypeStorageGroup: STORAGE_GROUP;
|
||||
// * TypeRegular, default: REGULAR.
|
||||
func (t Type) String() string {
|
||||
return t.ToV2().String()
|
||||
}
|
||||
|
||||
// TypeFromString parses Type from its string representation.
|
||||
func TypeFromString(s string) Type {
|
||||
return TypeFromV2(
|
||||
object.TypeFromString(s),
|
||||
)
|
||||
// FromString parses Type from a string representation.
|
||||
// It is a reverse action to String().
|
||||
//
|
||||
// Returns true if s was parsed successfully.
|
||||
func (t *Type) FromString(s string) bool {
|
||||
var g object.Type
|
||||
|
||||
ok := g.FromString(s)
|
||||
|
||||
if ok {
|
||||
*t = TypeFromV2(g)
|
||||
}
|
||||
|
||||
return ok
|
||||
}
|
||||
|
||||
// TypeFromString parses Type from its string representation.
|
||||
//
|
||||
// Deprecated: use FromString method.
|
||||
func TypeFromString(s string) (t Type) {
|
||||
t.FromString(s)
|
||||
return
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue