В этом коде, тип v1
: BehaviorSubject<string | number>
, а тип v2
- {}
.Тип результата типа TypeScript по типу параметра
Я хочу, чтобы этот тип v1
был BehaviorSubject<string>
и тип v2
be { a: number, b: number }
.
Возможно ли подобное с системой типа TypeScript?
interface Test
{
prop: {
(x: string | number): BehaviorSubject<typeof x>;
(x: {}): typeof x;
}
}
let test: Test;
let v1 = test.prop('');
let v2 = test.prop({ a: 1, b: 2 });
Возможно, это относится к новейшему TypeScript 2.1 с использованием функции keyof или отображаемых типов.
Возможно, вы захотите опубликовать это как новый вопрос для видимости – Paarth