Могу ли я иметь тип возвращаемого значения переменной на основе значения аргумента типа строкового литерала в TypeScript 1.8 или 2.0?
type Fruit = "apple" | "orange"
function doSomething(foo : Fruit) : string | string[] {
if (foo == "apple") return "hello";
else return ["hello","world"];
}
var test : string[] = doSomething("orange");
Ошибка: TS2322: Введите строку | string [] 'не присваивается типу 'Строка []'.