@@ -58,9 +58,10 @@ public function __construct($options, $default_loaders)
5858 */
5959 private function makeLoaders ($ options , $ default_loaders )
6060 {
61+ $ loaders = $ this ->preParseLoaders ($ options , $ default_loaders );
6162 $ parsed_loaders = array ();
6263
63- foreach ($ options [ ' loaders ' ] as $ loader ) {
64+ foreach ($ loaders as $ loader ) {
6465 if ($ loader === 'default ' ) {
6566 $ parsed_loaders = array_merge ($ parsed_loaders , $ default_loaders );
6667 } else {
@@ -74,14 +75,36 @@ private function makeLoaders($options, $default_loaders)
7475 $ this ->extensions = $ this ->makeExtensions ($ this ->loaders );
7576 }
7677
78+ /**
79+ * Pre parse the loaders for use in make loaders
80+ *
81+ * @param array|null $options The options being used for Vars
82+ * @param array $default_loaders The default loaders for Vars
83+ *
84+ * @return array The pre parsed loaders
85+ */
86+ private function preParseLoaders ($ options , $ default_loaders )
87+ {
88+ $ loaders = array ();
89+
90+ if (is_array ($ options ['loaders ' ]) && !empty ($ options ['loaders ' ])) {
91+ $ loaders = $ options ['loaders ' ];
92+ } elseif (is_string ($ options ['loaders ' ])) {
93+ $ loaders [] = $ options ['loaders ' ];
94+ } else {
95+ $ loaders = $ default_loaders ;
96+ }
97+
98+ return $ loaders ;
99+ }
100+
77101 /**
78102 * Makes namespace loaders from loader strings
79103 *
80104 * @param array $loaders The options being used for Vars
81105 * @param array $default_loaders The default loaders for Vars
82106 *
83107 * @throws \InvalidArgumentException If a loader from options isn't found
84- * @throws \InvalidArgumentException If no loaders were loaded
85108 *
86109 * @return array The namespace loaders
87110 */
@@ -101,13 +124,6 @@ private function makeNameSpaceLoaders($loaders, $default_loaders)
101124 $ parsed_loaders [] = $ loader ;
102125 }
103126
104- // @codeCoverageIgnoreStart
105- if (empty ($ parsed_loaders )) {
106- throw new \InvalidArgumentException ('No loaders were loaded ' );
107- }
108- // @codeCoverageIgnoreEnd
109-
110-
111127 return $ parsed_loaders ;
112128 }
113129
0 commit comments