वैकल्पिक इंडेंटेशन और कुंजी सॉर्टिंग के साथ YAML कॉन्फ़िगरेशन को TOML में बदलें।
वैकल्पिक इंडेंटेशन और कुंजी सॉर्टिंग के साथ YAML कॉन्फ़िगरेशन को TOML में बदलें। वैकल्पिक इंडेंटेशन और कुंजी सॉर्टिंग के साथ YAML कॉन्फ़िगरेशन को TOML में बदलें।
आउटपुट
पृष्ठभूमि
जब YAML और TOML ओवरलैप होते हैं, और जब नहीं
YAML और TOML दोनों मानव-पठनीय कॉन्फ़िगरेशन प्रारूप बनना चाहते हैं।
वे उस डेटा पर जिसका वे प्रतिनिधित्व कर सकते हैं भारी रूप से ओवरलैप करते हैं (मैपिंग्स,
सीक्वेंसेस, स्केलर्स), पर वे वाक्यरचना और कुछ कोने के
मामलों में भिन्न होते हैं। YAML टैग, एंकर, और मल्टी-लाइन स्केलर्स का समर्थन करता है; TOML
इनलाइन टेबल्स और array-of-tables के बीच भेद करता है, और
तिथियों को प्रथम-श्रेणी प्रकार के रूप में मानता है।
YAML से TOML कनवर्टर तब सबसे उपयोगी होता है जब किसी कॉन्फ़िग
फ़ाइल को किसी एक उपकरण की पसंदीदा प्रारूप से दूसरे की प्रारूप में स्थानांतरित किया जा रहा हो: उदाहरण के लिए,
किसी Kubernetes मैनिफेस्ट को एक pyproject.toml स्निपेट में ले जाना, या
किसी Ansible इन्वेंटरी को किसी Cargo [dependencies]
टेबल में पुनः व्यक्त करना।
रूपांतरण में क्या बचता है
मैपिंग्स (YAML में key: value) संदर्भ के आधार पर TOML टेबल्स या कुंजी/मान
जोड़े बन जाते हैं। सीक्वेंसेस इनलाइन सरणियाँ या
[[array.of.tables]] हेडर्स बन जाते हैं। स्केलर्स तब तक संरक्षित रहते हैं जब तक कि
वे साफ़ मैप होते हैं: स्ट्रिंग्स, इंटीजर्स, फ़्लोट्स, बूलियन, और ISO
तिथियाँ।
क्या नहीं
YAML एंकर और एलियस पार्सिंग के दौरान समतल किए जाते हैं;
परिवर्तित TOML हर एलियस साइट पर ठोस मान रखता है,
जो अधिकांश उपभोक्ता चाहते हैं। YAML !!binary टैग
संरक्षित नहीं होते क्योंकि TOML के पास कोई समकक्ष नहीं है। टिप्पणियाँ जानबूझकर
हटा दी जाती हैं -- न तो कोई प्रारूप गोल-यात्रा संरक्षण की गारंटी देता है।
वर्कफ़्लो टिप्स
परिवर्तित TOML कमिट करने से पहले, अपने प्रोजेक्ट का TOML
लिंटर चलाएँ (taplo, toml-check, आदि)। कनवर्टर केवल
वाक्यरचना का अनुवाद करता है, शैली का नहीं; लिंटर कोटिंग, इंडेंटेशन, और
कुंजी-क्रम के मुद्दों को पकड़ लेता है जिन्हें कनवर्टर नहीं पहचान सकता।
अक्सर पूछे जाने वाले प्रश्न
क्या कनवर्टर YAML एंकर संभालता है?
हाँ। एंकर (`&name value`) और एलियस (`*name`) पार्सिंग के दौरान विस्तारित किए जाते हैं, इसलिए TOML हर एलियस साइट पर हल किए गए मान को रखता है। मूल एंकर नाम संरक्षित नहीं किए जाते।
क्या YAML की टिप्पणियाँ बचेंगी?
नहीं। YAML टिप्पणियाँ हर मुख्यधारा के पार्सर द्वारा हटा दी जाती हैं। यदि आवश्यक हो तो TOML में टिप्पणियाँ हाथ से वापस जोड़ें।
क्या कनवर्टर मल्टी-डॉक्यूमेंट YAML फ़ाइल्स संभाल सकता है?
नहीं। व्यूअर प्रत्येक अपलोड को एकल दस्तावेज़ मानता है। मल्टी-डॉक्यूमेंट फ़ाइल्स के लिए किसी समर्पित उपकरण का उपयोग करें।
क्या TOML मल्टी-लाइन स्ट्रिंग्स का समर्थन करता है?
हाँ। कनवर्टर किसी भी न्यूलाइन्स वाले YAML स्केलर के लिए TOML की ट्रिपल-कोटेड बेसिक स्ट्रिंग्स उत्सर्जित करता है, इसलिए पठनीयता संरक्षित रहती है।
YAML `!!binary` डेटा का क्या?
TOML के पास base64 बाइनरी ब्लॉब्स के लिए कोई समकक्ष नहीं है। कनवर्टर चुपचाप भ्रष्ट होने से बचने के लिए उन मानों को चेतावनी देकर छोड़ देता है।
क्या मेरा YAML अपलोड किया जाता है?
नहीं। पार्सिंग js-yaml के माध्यम से स्थानीय रूप से होती है, और TOML आउटपुट smol-toml के माध्यम से स्थानीय रूप से उत्पन्न होता है। कुछ भी सर्वर को नहीं भेजा जाता।