TypeScript त्रुटि: "An index signature parameter type cannot be a union type" — इसे कैसे ठीक करें?
नमस्ते, साथियों! मैं TypeScript में नया हूँ और एक त्रुटि का सामना कर रहा हूँ जिसे मैं समझ नहीं पा रहा हूँ। एक object है जो विभिन्न उपयोगकर्ता प्रकारों के लिए सेटिंग्स संग्रहीत करता है: 'admin' और 'user'। मैं एक type बनाना चाहता हूँ जो सुनिश्चित करे कि object की keys केवल ये strings हों, और values boolean हों। यहाँ मेरा कोड है:
```typescript
type UserRole = 'admin' | 'user';
interface Settings {
[key: UserRole]: boolean; // त्रुटि!
}
```
TypeScript देता है: "An index signature parameter type cannot be a union type. Consider using a mapped object type instead"। मैंने सोचा था कि union-types को keys के रूप में उपयोग किया जा सकता है, लेकिन compiler सहमत नहीं है। मुझे चाहिए कि object में केवल 'admin' और 'user' properties हों, और जब किसी अन्य key (जैसे 'guest') तक पहुँचने का प्रयास किया जाए, तो TypeScript त्रुटि दे। इसे सही तरीके से कैसे करें? मैंने देखा कि documentation में mapped types का उल्लेख है, लेकिन मैं पूरी तरह से नहीं समझता कि उन्हें अपने मामले में कैसे लागू करूँ। उदाहरणों के साथ स्पष्ट स्पष्टीकरण के लिए आभारी रहूँगा।