Remeda TypeScript: पूर्ण गाइड उदाहरणों के साथ

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

TypeScript के लिए Remeda लाइब्रेरी: पूर्ण गाइड

आधुनिक TypeScript वेब डेवलपमेंट में डेटा प्रोसेसिंग सबसे आम कामों में से एक है। remeda लाइब्रेरी (पहले Remeda के नाम से जानी जाती थी) Lodash का एक आधुनिक, type-safe विकल्प है, जिसे विशेष रूप से TypeScript के लिए डिज़ाइन किया गया है। इस लेख में हम विस्तार से जानेंगे कि remeda क्या है, इसे कैसे इंस्टॉल करें, इसके कौन से तरीके हैं, और इसे रियल प्रोजेक्ट्स में कैसे उपयोग करें।

1. यह क्या है और इसकी आवश्यकता क्यों है

Remeda TypeScript पर फंक्शनल प्रोग्रामिंग के लिए एक उपयोगिता लाइब्रेरी है। Lodash के विपरीत, जो मूल रूप से JavaScript के लिए लिखा गया था और बाद में इसमें टाइप्स जोड़े गए, remeda को शुरू से ही सख्त टाइपिंग को ध्यान में रखकर डिज़ाइन किया गया है। इसका मतलब है कि remeda के सभी फंक्शन पूरी तरह से टाइप-सेफ हैं: TypeScript कंपाइलर इनपुट और आउटपुट डेटा के सटीक टाइप्स का अनुमान लगा सकता है, जिससे रनटाइम एरर की संभावना काफी कम हो जाती है।

Remeda की आवश्यकता क्यों है? पहला, यह ऐरे, ऑब्जेक्ट, स्ट्रिंग और अन्य डेटा स्ट्रक्चर के साथ काम करने के लिए सुविधाजनक फंक्शन प्रदान करता है, जो रोजाना की डेवलपमेंट में उपयोग होते हैं। दूसरा, remeda फंक्शनल प्रोग्रामिंग शैली को प्रोत्साहित करता है: अधिकांश फंक्शन शुद्ध (pure) होते हैं, मूल डेटा को म्यूटेट नहीं करते, और पाइप (pipe) के माध्यम से आसानी से जोड़े जा सकते हैं। तीसरा, remeda का आकार बहुत छोटा है (tree-shakeable), जिससे बंडल में केवल वास्तव में उपयोग किए जाने वाले फंक्शन ही शामिल होते हैं।

Lodash की तुलना में remeda के मुख्य लाभ: "बॉक्स से बाहर" TypeScript की पूर्ण सपोर्ट, डिफ़ॉल्ट रूप से इम्यूटेबिलिटी, फंक्शन कम्पोज़िशन के लिए पाइप (pipe) सपोर्ट, और ES6+ मानकों के अनुरूप अधिक आधुनिक API।

2. इंस्टॉलेशन

Remeda npm के माध्यम से वितरित की जाती है। इंस्टॉल करने के लिए यह कमांड चलाएं:

npm install remeda

या, यदि आप yarn का उपयोग कर रहे हैं:

yarn add remeda

इंस्टॉल करने के बाद, आप फंक्शन को अलग-अलग इम्पोर्ट कर सकते हैं (tree-shaking के लिए अनुशंसित तरीका) या पूरे मॉड्यूल को एक साथ:

// अलग-अलग फंक्शन इम्पोर्ट करना (अनुशंसित)
import { pipe, map, filter } from 'remeda';

// पूरे मॉड्यूल को इम्पोर्ट करना
import * as R from 'remeda';

3. त्वरित शुरुआत — न्यूनतम कार्यशील उदाहरण

चलिए एक सरल उदाहरण लिखते हैं: हमारे पास संख्याओं की एक सूची है, हम सम संख्याओं को फ़िल्टर करना चाहते हैं, फिर प्रत्येक को 2 से गुणा करना चाहते हैं और परिणाम दिखाना चाहते हैं।

import { pipe, filter, map } from 'remeda';

const numbers = [1, 2, 3, 4, 5, 6];

const result = pipe(
    numbers,
    filter(x => x % 2 === 0), // [2, 4, 6]
    map(x => x * 2)           // [4, 8, 12]
);

console.log(result); // [4, 8, 12]

जैसा कि आप देख सकते हैं, कोड ऑपरेशन के अनुक्रम की तरह पढ़ा जाता है: "numbers लें, सम संख्याओं को फ़िल्टर करें, फिर 2 से गुणा करें"। यही फंक्शनल दृष्टिकोण का सार है, जिसे remeda बढ़ावा देता है।

4. मुख्य तरीके/फंक्शन

आइए remeda के 8 प्रमुख फंक्शन देखें। प्रत्येक के लिए सिग्नेचर, संक्षिप्त विवरण और उदाहरण दिया गया है।

4.1. pipe

सिग्नेचर: pipe<A, B, C, ...>(value: A, ...fns: Function[]): LastReturnType

यह क्या करता है: एक प्रारंभिक मान और फंक्शन की सूची लेता है। प्रत्येक फंक्शन को पिछले फंक्शन के परिणाम पर क्रमिक रूप से लागू करता है। यह remeda में कम्पोज़िशन का मुख्य तरीका है।

import { pipe } from 'remeda';

const addOne = (x: number) => x + 1;
const double = (x: number) => x * 2;

const result = pipe(5, addOne, double); // (5 + 1) * 2 = 12
console.log(result); // 12

4.2. map

सिग्नेचर: map<T, R>(fn: (value: T, index: number, array: T[]) => R): (array: T[]) => R[]

अनुशंसाएँ