import {Difficulty} from "../challenges/Difficulty";
export class OptParserUtil {
    /**
     * Parses diffuculty option and returns a Difficulty. Can take numbers and string (e.g. 1, easy, 2, intermediate etc.)
     * @param difficulty
     * @returns {Difficulty}
     */
    public static parseDifficulty( difficulty: string ): Difficulty {
        let result: Difficulty;
        if (typeof difficulty === "boolean") {
            difficulty = null;
        } else if (typeof difficulty === "string") {
            if (/^[0-9]+$/.test(difficulty)) {
                // numeric difficulty
                result = parseInt(Difficulty[Difficulty[difficulty]]);
            } else {
                result = Difficulty[difficulty[0].toUpperCase() + difficulty.slice(1)];
            }
        }

        return !result ? null : result;
    }
}