chushihua
This commit is contained in:
+29
@@ -0,0 +1,29 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = function prepareOptions(options, argv) {
|
||||
argv = argv || {};
|
||||
|
||||
options = handleExport(options);
|
||||
|
||||
if(Array.isArray(options)) {
|
||||
options = options.map(_options => handleFunction(_options, argv));
|
||||
} else {
|
||||
options = handleFunction(options, argv);
|
||||
}
|
||||
return options;
|
||||
};
|
||||
|
||||
function handleExport(options) {
|
||||
const isES6DefaultExported = (
|
||||
typeof options === "object" && options !== null && typeof options.default !== "undefined"
|
||||
);
|
||||
options = isES6DefaultExported ? options.default : options;
|
||||
return options;
|
||||
}
|
||||
|
||||
function handleFunction(options, argv) {
|
||||
if(typeof options === "function") {
|
||||
options = options(argv.env, argv);
|
||||
}
|
||||
return options;
|
||||
}
|
||||
Reference in New Issue
Block a user