Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit d0c9e5b

Browse files
RC10 - separate validation
1 parent 631f8b9 commit d0c9e5b

File tree

1 file changed

+39
-4
lines changed

1 file changed

+39
-4
lines changed

‎src/ScriptHandler.php‎

Lines changed: 39 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,33 +63,68 @@ protected static function validateConfiguration(array $config)
6363
throw new \InvalidArgumentException('the extra.css-compiler setting must be an array of objects');
6464
}
6565

66-
foreach ($config[static::CONFIG_MAIN_KEY] as $index => $el) {
67-
if (!is_array($el)) {
66+
return static::validateOptions($config);
67+
}
68+
69+
/**
70+
* @param array $config
71+
*
72+
* @return bool
73+
* @throws \InvalidArgumentException
74+
*/
75+
protected static function validateOptions(array $config)
76+
{
77+
foreach ($config[static::CONFIG_MAIN_KEY] as $index => $option) {
78+
if (!is_array($option)) {
6879
throw new \InvalidArgumentException("the extra.css-compiler[{$index}]." . static::OPTION_KEY_INPUT . ' array');
6980
}
7081

71-
static::validateOptions($el);
82+
static::validateMandatoryOptions($option);
7283
}
7384

7485
return true;
7586
}
7687

88+
7789
/**
7890
* @param array $config
7991
*
8092
* @return bool
8193
* @throws \InvalidArgumentException
8294
*/
83-
protected static function validateOptions(array $config)
95+
protected static function validateMandatoryOptions(array $config)
8496
{
8597
foreach (static::$mandatoryOptions as $option) {
8698
if (empty($config[$option])) {
8799
throw new \InvalidArgumentException("The extra.css-compiler[].{$option} required!");
88100
}
89101
}
102+
static::validateInputOption($config);
103+
static::validateOutputOption($config);
104+
105+
return true;
106+
}
107+
/**
108+
* @param array $config
109+
*
110+
* @return bool
111+
*/
112+
protected static function validateInputOption(array $config)
113+
{
90114
if (!is_array($config[static::OPTION_KEY_INPUT])) {
91115
throw new \InvalidArgumentException('The extra.css-compiler[].' . static::OPTION_KEY_INPUT . ' should be array!');
92116
}
117+
118+
return true;
119+
}
120+
121+
/**
122+
* @param array $config
123+
*
124+
* @return bool
125+
*/
126+
protected static function validateOutputOption(array $config)
127+
{
93128
if (!is_string($config[static::OPTION_KEY_OUTPUT])) {
94129
throw new \InvalidArgumentException('The extra.css-compiler[].' . static::OPTION_KEY_OUTPUT . ' should string!');
95130
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /