// Guide developers when a config schema definition is wrong.
if(!is_array($key_definition)){
if(!$parent){
thrownew\LogicException(sprintf("The mapping definition at `%s` is invalid: its `%s` key contains a %s. It must be an array.",$name,$key,gettype($key_definition)));
}
else{
thrownew\LogicException(sprintf("The mapping definition at `%s:%s` is invalid: its `%s` key contains a %s. It must be an array.",$parent->getPropertyPath(),$name,$key,gettype($key_definition)));
}
}
}
$this->processRequiredKeyFlags($definition);
parent::__construct($definition,$name,$parent);
}
/**
* {@inheritdoc}
*/
@@ -26,4 +52,243 @@ protected function getElementDefinition($key) {