You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Cannot describe recursive type aliases like JSON in terms of generic mapped types #57034
In the first two, I've defined them in terms of mapped types with a concrete key of string, and an object type with a string index signature. TypeScript has no issues with either of those.
On the other hand, the last two are described with Record, or with a helper mapped type fed in a string key type.
// No errors ✅namespaceObjectIsMappedTypeOnString{exporttypeJson=|string|number|boolean|null|Json[]|{[Kinstring]: Json};}// No errors ✅namespaceObjectIsIndexSignature{exporttypeJson=|string|number|boolean|null|Json[]|{[key: string]: Json};}// Errors ❌namespaceObjectIsRecord{exporttypeJson=|string|number|boolean|null|Json[]|Record<string,Json>;}// Error ❌namespaceObjectIsGenericMappedType{typeJsonProperties<KextendsPropertyKey>={[PinK]: Json};exporttypeJson=|string|number|boolean|null|Json[]|JsonProperties<Json>;}
Activity
jcalz commentedon Jan 12, 2024
… uh, duplicate #41164?