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{}
|
return false, ArErr{}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
val.obj["__Boolean__"] = builtinFunc{
|
||||||
|
"__Boolean__",
|
||||||
|
func(args ...any) (any, ArErr) {
|
||||||
|
return len(
|
||||||
|
arr,
|
||||||
|
) > 0, ArErr{}
|
||||||
|
},
|
||||||
|
}
|
||||||
return val
|
return val
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
12
src/map.go
12
src/map.go
@@ -318,5 +318,17 @@ func Map(m anymap) ArObject {
|
|||||||
return keys, ArErr{}
|
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
|
return obj
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -626,7 +626,7 @@ func calcOr(o operationType, stack stack, stacklevel int) (any, ArErr) {
|
|||||||
return resp, ArErr{}
|
return resp, ArErr{}
|
||||||
}
|
}
|
||||||
resp, err = runVal(
|
resp, err = runVal(
|
||||||
o.value1,
|
o.value2,
|
||||||
stack,
|
stack,
|
||||||
stacklevel+1,
|
stacklevel+1,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -639,5 +639,10 @@ func ArString(str string) ArObject {
|
|||||||
}
|
}
|
||||||
return ArArray(output), ArErr{}
|
return ArArray(output), ArErr{}
|
||||||
}}
|
}}
|
||||||
|
obj.obj["__Boolean__"] = builtinFunc{
|
||||||
|
"__Boolean__",
|
||||||
|
func(a ...any) (any, ArErr) {
|
||||||
|
return len(str) > 0, ArErr{}
|
||||||
|
}}
|
||||||
return obj
|
return obj
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user