TS2300
Zduplikowany identyfikator
Duplicate identifier 'Result'.Własne słowa kompilatora. Nietłumaczone — to ten ciąg, który wkleiłeś w wyszukiwarkę.
Ta sama niescalalna nazwa typu została zadeklarowana dwa razy w jednym zakresie.
Odtworzenie
type Result = { ok: true } type Result = { ok: false }
Build potwierdza, że to emituje dokładnie ten kod.
Dlaczego kompilator tak mówi
Aliasy typów nazywają jedną definicję i nie podlegają scalaniu deklaracji. Dwa aliasy o tej samej nazwie czynią każde użycie niejednoznacznym, więc duplikat jest odrzucany przy obu deklaracjach.
Naprawy
- 01
type Result = { ok: true } | { ok: false }
Połącz alternatywy w jednym aliasie, gdy reprezentują gałęzie tego samego pojęcia.
- 02
type Success = { ok: true } type Failure = { ok: false } type Result = Success | Failure
Nadaj różnym pojęciom różne nazwy, a następnie składaj je tam, gdzie potrzeba.
Wniosek
Aliasy typów się nie scalają. Zmień nazwę, usuń albo świadomie złóż zduplikowane definicje.
