This repository has been archived on 2022-08-30. You can view files and clone it, but cannot push or open issues or pull requests.
arf/types/permission.go

33 lines
487 B
Go
Raw Normal View History

2022-08-10 16:52:20 +00:00
package types
type Mode int
const (
ModeNone = iota
ModeRead
2022-08-10 16:52:20 +00:00
ModeWrite
)
type Permission struct {
Internal Mode
External Mode
}
func ModeFrom (char rune) (mode Mode) {
switch (char) {
2022-08-11 08:52:16 +00:00
case 'n': mode = ModeNone
case 'r': mode = ModeRead
case 'w': mode = ModeWrite
}
return
}
func PermissionFrom (data string) (permission Permission) {
if len(data) != 2 { return }
permission.Internal = ModeFrom(rune(data[0]))
permission.External = ModeFrom(rune(data[1]))
return
}