I feel there is something wrong with this line of code in function checkArray()
....
const subRule = rule.itemType === 'object'
? rule
: rule.rule || formatRule(rule.itemType);
.....
========should be changed to:============
const subRule = rule.itemType === 'object'
? rule.rule
: rule.rule || formatRule(rule.itemType);