Branded types
Në shqip: Tipet me markë
ShpjegimiSQ
Meqë TypeScript-i krahason sipas formës, një IdPerdoruesi dhe një IdPorosie (të dyja string) ngatërrohen lehtë. Një „markë“ e fshehtë i bën të dallueshme, që të mos e japësh njërën në vend të tjetrës.
EnglishEN
Because TypeScript compares by shape, a UserId and an OrderId (both strings) are easy to mix up. A hidden “brand” makes them distinct, so you can't pass one in place of the other.
Si ta mendosh
Si dy çelësa që duken njësoj, por me ngjitëse me ngjyra të ndryshme.
Lexoje në anglisht
Like two identical-looking keys with different coloured tags.
Shembull koditypescript
type IdPerdoruesi = string & { __marka: "perdorues" };
type IdPorosie = string & { __marka: "porosi" };
function merr(id: IdPerdoruesi) {}
// merr("abc" as IdPorosie); // Gabim