Extract resolveFromPossibleNames to remove duplicated logic

"DRY"s the duplicated algorithm in resolvePlugin and resolvePreset
This commit is contained in:
Richard Macklin
2016-10-15 14:46:24 -07:00
parent 4ea1007645
commit 6ec93d782b
3 changed files with 9 additions and 4 deletions

View File

@@ -0,0 +1,5 @@
import resolve from "./resolve";
export default function resolveFromPossibleNames(possibleNames: Array<string>, dirname: string): ?string {
return possibleNames.reduce((accum, curr) => accum || resolve(curr, dirname), null);
}

View File

@@ -1,6 +1,6 @@
import resolve from "./resolve";
import resolveFromPossibleNames from "./resolve-from-possible-names";
import getPossiblePluginNames from "./get-possible-plugin-names";
export default function resolvePlugin(pluginName: string, dirname: string = process.cwd()): ?string {
return getPossiblePluginNames(pluginName).reduce((accum, curr) => accum || resolve(curr, dirname), null);
return resolveFromPossibleNames(getPossiblePluginNames(pluginName), dirname);
}

View File

@@ -1,6 +1,6 @@
import resolve from "./resolve";
import resolveFromPossibleNames from "./resolve-from-possible-names";
import getPossiblePresetNames from "./get-possible-preset-names";
export default function resolvePreset(presetName: string, dirname: string = process.cwd()): ?string {
return getPossiblePresetNames(presetName).reduce((accum, curr) => accum || resolve(curr, dirname), null);
return resolveFromPossibleNames(getPossiblePresetNames(presetName), dirname);
}