private function withBuiltInFactories(): ValidatorFactory
    {
        $keys = array_keys(self::$defaults);

        return array_reduce($keys, function ($factory, $key) {

            $rule = self::$defaults[$key];

            return $factory->withRuleFactory($key, function (array $parameters = []) use ($rule) {

                return new $rule(...$parameters);

            });

        }, $this);
    }
private function withBuiltInFactories(): ValidatorFactory
    {
        $keys = array_keys(self::$defaults);

        return array_reduce($keys, function ($factory, $key) {

            $rule = self::$defaults[$key];

            return $factory->withRuleFactory($key, function (array $parameters = []) use ($rule) {

                return new $rule(...$parameters);

            });

        }, $this);
    }
private function withBuiltInFactories ( ) : ValidatorFactory { $ keys = array_keys ( self :: $ defaults ) ; return array_reduce ( $ keys , function ( $ factory , $ key ) { $ rule = self :: $ defaults [ $ key ] ; return $ factory -> withRuleFactory ( $ key , function ( array $ parameters = [ ] ) use ( $ rule ) { return new $ rule ( ... $ parameters ) ; } ) ; } , $ this ) ; }
Return a new validator factory with a rule factory for each default
rules.

@return \Ellipse\Validator\ValidatorFactory
Return a new validator factory with a rule factory for each default rules .