Google Apps Script:
การทำงานร่วมกับ TOML
วิธีการ:
เนื่องจาก Google Apps Script เป็นพื้นฐานของ JavaScript ที่มีการเข้าถึงชุดแอปของ Google การทำงานกับ TOML โดยตรงภายใน Google Apps Script จำเป็นต้องใช้ความคิดสร้างสรรค์เล็กน้อย Google Apps Script ไม่รองรับการแยกวิเคราะห์ TOML โดยตรง แต่คุณสามารถใช้ประโยชน์จากไลบรารี JavaScript หรือเขียนตัวแยกวิเคราะห์อย่างง่ายเพื่อความต้องการพื้นฐาน
ลองแยกวิเคราะห์สตริงการกำหนดค่า TOML แบบง่ายเป็นตัวอย่าง:
// สตริง TOML
var tomlString = `
[database]
server = "192.168.1.1"
ports = [ 8001, 8001, 8002 ]
connection_max = 5000
enabled = true
`;
// ฟังก์ชันแปลง TOML เป็น JSON อย่างง่าย
function parseTOML(tomlStr) {
var result = {};
var currentSection = result;
tomlStr.split(/\r?\n/).forEach(line => {
line = line.trim();
if (line.startsWith('[')) { // ส่วนใหม่
var sectionName = line.replace(/\[|\]/g, '');
result[sectionName] = {};
currentSection = result[sectionName];
} else if (line) {
var keyValue = line.split('=').map(part => part.trim());
var key = keyValue[0];
var value = eval(keyValue[1]); // ใช้ eval ด้วยความง่าย แต่ระวังในโค้ดการผลิต
currentSection[key] = value;
}
});
return result;
}
// ทดสอบตัวแยกวิเคราะห์
var configObject = parseTOML(tomlString);
console.log(configObject);
ผลลัพธ์จาก console.log
จะดูเหมือนกับวัตถุ JSON ทำให้การเข้าถึงคุณสมบัติการกำหนดค่าใน Google Apps Script เป็นไปได้อย่างง่ายดาย:
{
"database": {
"server": "192.168.1.1",
"ports": [8001, 8001, 8002],
"connection_max": 5000,
"enabled": true
}
}
ลงรายละเอียด
TOML ถูกสร้างโดย Tom Preston-Werner หนึ่งในผู้ก่อตั้ง GitHub เพื่อให้เป็นมิตรกับมนุษย์มากกว่า JSON สำหรับไฟล์การกำหนดค่า โดยยังคงความสามารถในการถูกแยกวิเคราะห์อย่างไม่กำกวม เป้าหมายคือการทำให้ง่ายที่สุด ซึ่งตรงกับจรรยาบรรณของโครงการพัฒนามากมายที่มุ่งเน้นความเรียบง่ายและความอ่านง่ายในรหัสของพวกเขา
ในบริบทของ Google Apps Script การใช้ TOML อาจเพิ่มภาระงาน เนื่องจากไม่มีการสนับสนุนโดยตรงและจำเป็นต้องแยกวิเคราะห์ด้วยตนเองหรือผ่านไลบรารีบุคคลที่สาม สำหรับโครงการขนาดเล็กหรือโครงการที่ไม่ได้รวมเข้ากับระบบนิเวศของ Google อย่างลึกซึ้ง ทางเลือกอื่นเช่น JSON หรือแม้แต่โครงสร้างคู่คีย์-ค่าในคุณสมบัติสคริปต์อาจเพียงพอและง่ายต่อการนำไปใช้งาน อย่างไรก็ตาม สำหรับแอปพลิเคชันที่ให้ความสำคัญกับไฟล์การกำหนดค่าที่เป็นมิตรกับมนุษย์และมุ่งมั่นใช้ TOML การรวมการแยกวิเคราะห์ TOML ผ่านสคริปต์ที่กำหนดเองเพิ่มความยืดหยุ่นและใช้งานได้ยาวนานโดยไม่ต้องออกจากรูปแบบการกำหนดค่าที่ต้องการ