
जावास्क्रिप्ट ऑब्जेक्ट्स के डीप या शैलो मर्जिंग के लिए एक हल्की Node.js उपयोगिता, जो jQuery के extend विधि से पोर्ट की गई है।
node-extend जेक्वेरी (jQuery) के क्लासिक extend() विधि का एक पोर्ट है। यह वैसा ही व्यवहार करता है जैसा आप उम्मीद करते हैं। यह सरल, आज़माया हुआ और विश्वसनीय है।
नोट्स:
Object.assign
अब मूल रूप से समान कार्यक्षमता प्रदान करता है (लेकिन "डीप कॉपी" विकल्प के बिना)।
देखें ।Object.assign के Node.js और कई
ब्राउज़रों (क्योंकि NPM मॉड्यूल ब्राउज़र के लिए भी हैं) पूरी तरह से
विशिष्टता-अनुरूप (spec-compliant) नहीं हो सकते हैं।
अनुरूप विकल्प के लिए object.assign मॉड्यूल देखें
एक अनुरूप उम्मीदवार के लिए।यह पैकेज npm पर उपलब्ध है: extend
npm install extend
वाक्यविन्यास: extend ( [deep], target, object1, [objectN] )
एक वस्तु को एक या अधिक अन्य वस्तुओं के साथ विस्तारित करें, संशोधित वस्तु लौटाएं।
उदाहरण:
var extend = require('extend');
extend(targetObject, object1, object2);
ध्यान रखें कि लक्ष्य वस्तु संशोधित होगी, और extend() से वापस लौटाई जाएगी।
यदि पहले तर्क के रूप में एक बूलियन true निर्दिष्ट किया जाता है, तो extend एक गहरी प्रतिलिपि (deep copy) करता है, किसी भी वस्तु को पुनरावर्ती रूप से कॉपी करता है। अन्यथा, प्रतिलिपि मूल वस्तु(ओं) के साथ संरचना साझा करेगी। अपरिभाषित गुणों की प्रतिलिपि नहीं की जाती है। हालांकि, वस्तु के प्रोटोटाइप से विरासत में मिले गुणों की प्रतिलिपि बनाई जाएगी। चेतावनी: पहले तर्क के रूप में false पास करना समर्थित नहीं है।
deep Boolean (वैकल्पिक)
यदि सेट किया जाए, तो विलय पुनरावर्ती हो जाता है (अर्थात गहरी प्रतिलिपि)।target Object
विस्तारित करने के लिए वस्तु।object1 Object
वह वस्तु जो पहले में विलय होगी।objectN Object (वैकल्पिक)
पहले में विलय करने के लिए और वस्तुएं।node-extend MIT लाइसेंस के तहत लाइसेंस प्राप्त है।
इस अद्भुत उपयोगिता को सिद्ध करने का सारा श्रेय jQuery लेखकों को जाता है।
Stefan Thomas द्वारा Node.js में पोर्ट किया गया, Jonathan Buchanan और Jordan Harband के योगदान के साथ।