UTILS.
100% ब्राउज़र में
🎨

JavaScript ब्यूटिफ़ायर / फ़ॉर्मेटर

मिनिफ़ाइड या अव्यवस्थित JavaScript और JSON को एकसमान इंडेंटेशन, स्पेसिंग, और लाइन ब्रेक्स के साथ प्रिटी-प्रिंट करें — एक हस्तलिखित फ़ॉर्मेटर जो पूरी तरह ब्राउज़र में चलता है।

— आउटपुट यहाँ दिखेगा —

इस टूल के बारे में

JavaScript ब्यूटिफ़ायर मिनिफ़ाइड, एक-पंक्ति, या असंगत रूप से इंडेंट किए गए JavaScript और JSON को साफ़, पठनीय स्रोत में एकसमान इंडेंटेशन और स्पेसिंग के साथ पुनः फ़ॉर्मेट करता है। यह एक बंडल की गई लाइब्रेरी पढ़ने, कॉपी किए गए स्निपेट को व्यवस्थित करने, या JSON ब्लॉब का निरीक्षण करने के लिए उपयोगी है। सब कुछ आपके ब्राउज़र में होता है — कोड केवल टेक्स्ट के रूप में पुनः फ़ॉर्मेट होता है, कभी निष्पादित नहीं होता, इसलिए कोई eval नहीं, कोई new Function नहीं, और कुछ भी अपलोड नहीं होता।

फ़ॉर्मेटर एक हस्तलिखित टोकनाइज़र है, कोई regex हैक नहीं: यह स्रोत को टोकनों में स्कैन करता है जबकि स्ट्रिंग्स, टेम्पलेट लिटरल्स, रेगुलर एक्सप्रेशन्स, और line/block कमेंट्स के अंदरूनी हिस्सों को सही ढंग से छोड़ता है, इसलिए उनके अंदर के कोट्स और स्लैश को कभी संरचना नहीं समझा जाता। एक क्लासिक lookbehind ह्यूरिस्टिक विभाजन ऑपरेटर को रेगुलर-एक्सप्रेशन लिटरल से अलग करता है। फिर टोकन स्ट्रीम को '{', '[' और ';' के बाद newlines, '}' और ']' से पहले dedented लाइनों, ऑब्जेक्ट और array लिटरल्स के अंदर प्रति पंक्ति एक आइटम, और ऑपरेटरों के आसपास तथा कीवर्ड्स के बाद एकल स्पेस के साथ पुनः-उत्सर्जित किया जाता है।

2 स्पेस, 4 स्पेस, या एक टैब का इंडेंट, और एक brace शैली चुनें: collapse ओपनिंग brace को उसी पंक्ति पर रखता है (K&R / 1TBS), जबकि expand उसे अपनी अलग पंक्ति पर ले जाता है (Allman)। चूँकि टूल स्ट्रिंग और regex सामग्री को बाइट-दर-बाइट संरक्षित करता है, पुनः फ़ॉर्मेट किया गया कोड इनपुट के अर्थ में समान होता है। परिणाम को सीधे अपने एडिटर में कॉपी करें।

अक्सर पूछे जाने वाले प्रश्न

क्या यह मेरा कोड चलाता या मूल्यांकन करता है?
नहीं। ब्यूटिफ़ायर केवल आपके स्रोत को टेक्स्ट के रूप में टोकनाइज़ और पुनः-उत्सर्जित करता है। यह कभी eval या new Function को कॉल नहीं करता और कभी कोड निष्पादित नहीं करता, इसलिए अविश्वसनीय या स्वामित्व वाला JavaScript पेस्ट करना सुरक्षित है। सारा काम आपके ब्राउज़र में रहता है।
क्या यह JSON पर भी काम करता है?
हाँ। JSON, JavaScript सिंटैक्स का एक उपसमूह है, इसलिए मिनिफ़ाइड JSON ऑब्जेक्ट या array पेस्ट करने पर यह इंडेंट किए गए, प्रति-key एक-पंक्ति रूप में पुनः प्रवाहित होता है। स्ट्रिंग्स, संख्याएँ, और nested संरचनाएँ JavaScript की तरह ही फ़ॉर्मेट होती हैं।
brace शैलियों में क्या अंतर है?
Collapse (K&R / 1TBS) ओपनिंग brace को स्टेटमेंट की उसी पंक्ति पर रखता है, जैसे 'if (x) {'. Expand (Allman) ओपनिंग brace को स्टेटमेंट के नीचे अपनी अलग पंक्ति पर रखता है। दोनों समान, वैध कोड उत्पन्न करते हैं — केवल लेआउट में अंतर है।
क्या यह बदलेगा कि मेरा कोड क्या करता है?
नहीं। केवल व्हाइटस्पेस, इंडेंटेशन, और लाइन ब्रेक बदलते हैं। स्ट्रिंग्स, टेम्पलेट लिटरल्स, और रेगुलर एक्सप्रेशन्स की सामग्री ठीक-ठीक संरक्षित रहती है, इसलिए पुनः फ़ॉर्मेट किया गया आउटपुट मूल स्रोत के कार्यात्मक रूप से समान होता है।

और टूल