mirror of
https://code.forgejo.org/forgejo/runner.git
synced 2025-08-16 18:01:34 +00:00
chore(cleanup): use any, NoError and keep switch cases DRY
This commit is contained in:
parent
2496f8d41c
commit
03f19317df
2 changed files with 5 additions and 10 deletions
|
@ -293,7 +293,7 @@ func TestMapContains(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
output, err := NewInterpeter(env, Config{}).Evaluate("contains(needs.*.result, 'failure')", DefaultStatusCheckNone)
|
output, err := NewInterpeter(env, Config{}).Evaluate("contains(needs.*.result, 'failure')", DefaultStatusCheckNone)
|
||||||
assert.Nil(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, true, output)
|
assert.Equal(t, true, output)
|
||||||
}
|
}
|
||||||
|
|
|
@ -227,7 +227,7 @@ func (impl *interperterImpl) evaluateIndexAccess(indexAccessNode *actionlint.Ind
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (impl *interperterImpl) evaluateObjectDeref(objectDerefNode *actionlint.ObjectDerefNode) (interface{}, error) {
|
func (impl *interperterImpl) evaluateObjectDeref(objectDerefNode *actionlint.ObjectDerefNode) (any, error) {
|
||||||
left, err := impl.evaluateNode(objectDerefNode.Receiver)
|
left, err := impl.evaluateNode(objectDerefNode.Receiver)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -320,17 +320,12 @@ func (impl *interperterImpl) getPropertyValue(left reflect.Value, property strin
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (impl *interperterImpl) getPropertyValueDereferenced(left reflect.Value, property string) (value interface{}, err error) {
|
func (impl *interperterImpl) getPropertyValueDereferenced(left reflect.Value, property string) (value any, err error) {
|
||||||
switch left.Kind() {
|
switch left.Kind() {
|
||||||
case reflect.Ptr:
|
|
||||||
return impl.getPropertyValue(left, property)
|
|
||||||
|
|
||||||
case reflect.Struct:
|
|
||||||
return impl.getPropertyValue(left, property)
|
|
||||||
case reflect.Map:
|
case reflect.Map:
|
||||||
iter := left.MapRange()
|
iter := left.MapRange()
|
||||||
|
|
||||||
var values []interface{}
|
var values []any
|
||||||
for iter.Next() {
|
for iter.Next() {
|
||||||
value, err := impl.getPropertyValue(iter.Value(), property)
|
value, err := impl.getPropertyValue(iter.Value(), property)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -341,7 +336,7 @@ func (impl *interperterImpl) getPropertyValueDereferenced(left reflect.Value, pr
|
||||||
}
|
}
|
||||||
|
|
||||||
return values, nil
|
return values, nil
|
||||||
case reflect.Slice:
|
case reflect.Ptr, reflect.Struct, reflect.Slice:
|
||||||
return impl.getPropertyValue(left, property)
|
return impl.getPropertyValue(left, property)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue