hst: remove enablement json adapter
All checks were successful
Test / Create distribution (push) Successful in 1m2s
Test / Sandbox (push) Successful in 2m46s
Test / Hakurei (push) Successful in 3m48s
Test / ShareFS (push) Successful in 3m49s
Test / Sandbox (race detector) (push) Successful in 5m11s
Test / Hakurei (race detector) (push) Successful in 6m20s
Test / Flake checks (push) Successful in 1m23s
All checks were successful
Test / Create distribution (push) Successful in 1m2s
Test / Sandbox (push) Successful in 2m46s
Test / Hakurei (push) Successful in 3m48s
Test / ShareFS (push) Successful in 3m49s
Test / Sandbox (race detector) (push) Successful in 5m11s
Test / Hakurei (race detector) (push) Successful in 6m20s
Test / Flake checks (push) Successful in 1m23s
The go116 behaviour of built-in new function makes this cleaner. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -20,21 +20,21 @@ const (
|
||||
)
|
||||
|
||||
// Criteria specifies types of Op to revert.
|
||||
type Criteria hst.Enablement
|
||||
type Criteria hst.Enablements
|
||||
|
||||
func (ec *Criteria) hasType(t hst.Enablement) bool {
|
||||
func (ec *Criteria) hasType(t hst.Enablements) bool {
|
||||
// nil criteria: revert everything except User
|
||||
if ec == nil {
|
||||
return t != User
|
||||
}
|
||||
|
||||
return hst.Enablement(*ec)&t != 0
|
||||
return hst.Enablements(*ec)&t != 0
|
||||
}
|
||||
|
||||
// Op is a reversible system operation.
|
||||
type Op interface {
|
||||
// Type returns [Op]'s enablement type, for matching a revert criteria.
|
||||
Type() hst.Enablement
|
||||
Type() hst.Enablements
|
||||
|
||||
apply(sys *I) error
|
||||
revert(sys *I, ec *Criteria) error
|
||||
@@ -44,8 +44,8 @@ type Op interface {
|
||||
String() string
|
||||
}
|
||||
|
||||
// TypeString extends [hst.Enablement.String] to support [User] and [Process].
|
||||
func TypeString(e hst.Enablement) string {
|
||||
// TypeString extends [hst.Enablements] to support [User] and [Process].
|
||||
func TypeString(e hst.Enablements) string {
|
||||
switch e {
|
||||
case User:
|
||||
return "user"
|
||||
@@ -110,7 +110,9 @@ func (sys *I) Equal(target *I) bool {
|
||||
return true
|
||||
}
|
||||
|
||||
// Commit applies all [Op] held by [I] and reverts all successful [Op] on first error encountered.
|
||||
// Commit applies all [Op] held by [I] and reverts all successful [Op] on first
|
||||
// error encountered.
|
||||
//
|
||||
// Commit must not be called more than once.
|
||||
func (sys *I) Commit() error {
|
||||
if sys.committed {
|
||||
|
||||
Reference in New Issue
Block a user