TypeScript: ऐसा इंटरफ़ेस कैसे बनाएं जिसमें दो प्रॉपर्टीज़ में से एक अनिवार्य हो?
सभी को नमस्ते! मैं ऑर्डर प्रोसेसिंग के लिए TypeScript एप्लिकेशन लिख रहा हूं। मेरे पास यूज़र के लिए एक इंटरफ़ेस है, जो या तो रजिस्टर्ड हो सकता है (और तब उसके पास `userId` होता है), या गेस्ट हो सकता है (और तब उसके पास `guestToken` होता है)। लेकिन सबसे महत्वपूर्ण बात यह है कि यूज़र के पास इन दो फ़ील्ड्स में से बिल्कुल एक होना चाहिए, न कि दोनों एक साथ और न ही कोई न हो।\n\nमैंने इसे इस तरह करने की कोशिश की:\n\n```typescript\ninterface User {\n name: string;\n email: string;\n userId?: number;\n guestToken?: string;\n}\n```\n\nलेकिन समस्या यह है कि TypeScript एक ऐसा ऑब्जेक्ट बनाने की अनुमति देता है जिसमें दोनों फ़ील्ड्स गायब हों, या दोनों एक साथ मौजूद हों। उदाहरण के लिए:\n\n```typescript\nconst user1: User = { name: "Anna", email: "a@mail.ru" }; // न तो userId है, न guestToken — कोई एरर नहीं आती\nconst user2: User = { name: "Ivan", email: