mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-19 14:41:50 +00:00
25 lines
736 B
Plaintext
25 lines
736 B
Plaintext
/proc/all_predicates_true(var/list/input, var/list/predicates)
|
|
functional_sanity(input, predicates)
|
|
|
|
for(var/i = 1 to predicates.len)
|
|
if(!call(predicates[i])(arglist(input)))
|
|
return FALSE
|
|
return TRUE
|
|
|
|
/proc/any_predicate_true(var/list/input, var/list/predicates)
|
|
functional_sanity(input, predicates)
|
|
|
|
if(!predicates.len)
|
|
return TRUE
|
|
|
|
for(var/i = 1 to predicates.len)
|
|
if(call(predicates[i])(arglist(input)))
|
|
return TRUE
|
|
return FALSE
|
|
|
|
/proc/functional_sanity(var/list/input, var/list/predicates)
|
|
if(!istype(input))
|
|
CRASH("Expected list input. Was [input ? "[input.type]" : "null"]")
|
|
if(!istype(predicates))
|
|
CRASH("Expected predicate list. Was [predicates ? "[predicates.type]" : "null"]")
|