From 32e4da8c2cf020527592b151d97fdb3f24678b1d Mon Sep 17 00:00:00 2001 From: Arkerthan <arkerthan@gmail.com> Date: Wed, 18 Dec 2019 22:11:56 +0100 Subject: [PATCH] testGenetics can now handle layered objects --- src/pregmod/testGenetics.tw | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/pregmod/testGenetics.tw b/src/pregmod/testGenetics.tw index aa29f07550c..ab0014a094f 100644 --- a/src/pregmod/testGenetics.tw +++ b/src/pregmod/testGenetics.tw @@ -24,7 +24,17 @@ All slave array slaves MUST be present in genePool or else there is a malfunctio <<set _error = $genePool.every(function(g) { return $slaves[_i].ID !== g.ID; })>> <<if _error>><<set _errorCause = "Doesn't exist in the gene pool">><</if>> <<if !_error>> - <<set _missingProperties = _neededProperties.filter(function(p) { return !(p in _s);})>> + <<set _missingProperties = _neededProperties.filter(function(p) { + p = p.split("."); + let c = _s; + for (const r of p) { + if (!(r in c)) { + return true; + } + c = c[r]; + } + return false; + })>> <<if _missingProperties.length > 0>> <<set _error = true, _errorCause = "Missing properties: " + _missingProperties.join(", ")>> <</if>> -- GitLab