Я использую машинописный текст.
И мне нужно обрабатывать динамические c типы.
Как обрабатывать этот тип?
[пример]
type A = {
name: string;
age: number;
}
type B = {
name: string;
address: string;
}
type C = {
name: string;
phoneNumber: string;
}
type Origin = 'A' | 'B' | 'C';
type T = {
origin: Origin;
A: A;
B: B;
C: C
}
const a: A = {
name: 'Aname',
age: 1
}
const b: B = {
name: "Bname",
address: "Baddress"
}
const c: C = {
name: "Cname",
phoneNumber: "010-0000-0000"
}
const F = (): Origin => {
const c = ['A', 'B', 'C'] as const;
return c[Math.floor(Math.random() * 3)]
}
const FF = (): A | B | C => {
const arr = [a,b,c] as const;
return arr[Math.floor(Math.random() * 3)]
}
const o: T = {};
const someData: Origin = F();
const data: ReturnType<typeof FF> = FF();
o[someData] = data; // Error Occured
У меня есть значение Dynami c из ввода клиента.
Итак, я не знаю, какое значение приходит.
Как это сделать ..?
[Я сделал]
...
if(someData === 'A') {
o[someData] = data as A;
}
if(someData === 'B') {
o[someData] = data as B;
}
if(someData === 'C') {
o[someData] = data as C;
}
Но, Это неэффективно.
«Условное, если» использовалось из-за определения типа.
Хотя входящее значение фиксировано, это не похоже на хороший способ использования условных операторов.
Спасибо!
это машинописная площадка