mirror of
https://github.com/Open-Argon/argon-v3.git
synced 2025-12-06 00:46:07 +00:00
fix __Boolean__ and calcOr
This commit is contained in:
@@ -589,6 +589,14 @@ func ArArray(arr []any) ArObject {
|
||||
return false, ArErr{}
|
||||
},
|
||||
}
|
||||
val.obj["__Boolean__"] = builtinFunc{
|
||||
"__Boolean__",
|
||||
func(args ...any) (any, ArErr) {
|
||||
return len(
|
||||
arr,
|
||||
) > 0, ArErr{}
|
||||
},
|
||||
}
|
||||
return val
|
||||
}
|
||||
|
||||
|
||||
12
src/map.go
12
src/map.go
@@ -318,5 +318,17 @@ func Map(m anymap) ArObject {
|
||||
return keys, ArErr{}
|
||||
},
|
||||
}
|
||||
obj.obj["__Boolean__"] = builtinFunc{
|
||||
"__Boolean__",
|
||||
func(args ...any) (any, ArErr) {
|
||||
mutex.RLock()
|
||||
if len(m) == 0 {
|
||||
mutex.RUnlock()
|
||||
return false, ArErr{}
|
||||
}
|
||||
mutex.RUnlock()
|
||||
return true, ArErr{}
|
||||
},
|
||||
}
|
||||
return obj
|
||||
}
|
||||
|
||||
@@ -626,7 +626,7 @@ func calcOr(o operationType, stack stack, stacklevel int) (any, ArErr) {
|
||||
return resp, ArErr{}
|
||||
}
|
||||
resp, err = runVal(
|
||||
o.value1,
|
||||
o.value2,
|
||||
stack,
|
||||
stacklevel+1,
|
||||
)
|
||||
|
||||
@@ -639,5 +639,10 @@ func ArString(str string) ArObject {
|
||||
}
|
||||
return ArArray(output), ArErr{}
|
||||
}}
|
||||
obj.obj["__Boolean__"] = builtinFunc{
|
||||
"__Boolean__",
|
||||
func(a ...any) (any, ArErr) {
|
||||
return len(str) > 0, ArErr{}
|
||||
}}
|
||||
return obj
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user