DeepStrictTypes: जटिल TypeScript टाइप्स को और आसान तरीके से संभालना
(github.com/kakasoo)DeepStrictTypes TypeScript utility types का एक संग्रह है, जिसे nested objects को ज़्यादा सुरक्षित और सुविधाजनक तरीके से संभालने के लिए बनाया गया है.
मौजूदा Omit या Pick का इस्तेमाल करने पर गहराई में मौजूद properties को साफ़-सुथरे तरीके से संभालना मुश्किल होता है, लेकिन DeepStrictOmit और DeepStrictPick का इस्तेमाल करने पर आप सिर्फ़ मनचाहे हिस्से चुन सकते हैं.
उदाहरण के लिए, { user: { name: string; age: number } } type में DeepStrictOmit<Example, 'user.name'> का इस्तेमाल करने पर यह { user: { age: number } } की तरह सटीक रूप से बदल जाता है. इसके उलट, DeepStrictPick<Example, 'user.name'> का इस्तेमाल करने पर { user: { name: string } } की तरह सिर्फ़ ज़रूरी हिस्सा छोड़ा जा सकता है.
यह क्यों ज़रूरी है?
✔️ जब API response में सिर्फ़ कुछ खास fields को filter करना हो
✔️ जब nested object में सिर्फ़ मनचाहा हिस्सा ही रखना हो
प्रयोगात्मक रूप से deepStrictObjectKeys, deepStrictAssert जैसे runtime utilities भी जोड़े गए हैं.
एक बार इस्तेमाल करके feedback दें तो अच्छा लगेगा! open source में दिलचस्पी creators के लिए बड़ी ताकत होती है!
10 टिप्पणियां
TypeScript हमेशा शानदार है
TypeScript की शानदार खूबियों को समझने वाले आप, धन्यवाद।
https://github.com/sindresorhus/type-fest
धन्यवाद!
लाइक
बहुत बढ़िया, धन्यवाद
क्या कोई सच में types को इतना ज़्यादा इस्तेमाल करता होगा?
असल इस्तेमाल के उदाहरण जानने की उत्सुकता हो रही है।
मैंने इसे विज्ञापन डोमेन में काम करते समय बहुत इस्तेमाल किया है... :)
Facebook, Google... जो भी हो, आखिरकार विज्ञापन डोमेन को थोड़े-बहुत अंतर छोड़कर लगभग एक जैसे types के साथ abstract किया जा सकता है, इसलिए अलग-अलग services को एक domain में बाँधते समय इसका इस्तेमाल किया जाता था।
लगता है कि server पर db data record type को इधर-उधर प्रोसेस करते समय इस तरह का तरीका अक्सर इस्तेमाल होता है
सही कहा. दरअसल फ्रंटएंड वालों से इस पर ज़्यादा सहमति नहीं मिलती।