Google Apps Script:
Arbeider med TOML

Hvordan:

Siden Google Apps Script i bunn og grunn er JavaScript med tilgang til Googles app-samling, krever arbeid med TOML direkte innen Google Apps Script litt oppfinnsomhet. Google Apps Script støtter ikke naturlig TOML-analyse, men du kan dra nytte av JavaScript-biblioteker eller skrive en enkel tolker for grunnleggende behov.

La oss analysere en enkel TOML konfigurasjonsstreng som et eksempel:

// TOML-streng
var tomlString = `
[database]
server = "192.168.1.1"
porter = [ 8001, 8001, 8002 ]
maks_tilkobling = 5000
aktivert = true
`;

// En enkel TOML til JSON tolkefunksjon
function parseTOML(tomlStr) {
  var resultat = {};
  var gjeldendeSeksjon = resultat;
  tomlStr.split(/\r?\n/).forEach(linje => {
    linje = linje.trim();
    if (linje.startsWith('[')) { // Ny seksjon
      var seksjonsnavn = linje.replace(/\[|\]/g, '');
      resultat[seksjonsnavn] = {};
      gjeldendeSeksjon = resultat[seksjonsnavn];
    } else if (linje) {
      var nøkkelVerdi = linje.split('=').map(del => del.trim());
      var nøkkel = nøkkelVerdi[0];
      var verdi = eval(nøkkelVerdi[1]); // Bruker eval for enkelthets skyld; vær oppmerksom i produksjonskode
      gjeldendeSeksjon[nøkkel] = verdi;
    }
  });
  return resultat;
}

// Test tolkeren
var konfigObjekt = parseTOML(tomlString);
console.log(konfigObjekt);

Eksempelutdata fra console.log ville ligne et JSON-objekt, noe som gjør det enklere å få tilgang til konfigurasjonsegenskapene innen Google Apps Script:

{
  "database": {
    "server": "192.168.1.1",
    "porter": [8001, 8001, 8002],
    "maks_tilkobling": 5000,
    "aktivert": true
  }
}

Dypdykk

TOML ble skapt av Tom Preston-Werner, en av grunnleggerne av GitHub, for å være mer menneskevennlig enn JSON for konfigurasjonsfiler samtidig som det er mulig å tolkes utvetydig. Det sikter på å være så enkelt som mulig, et mål som passer fint sammen med ethoset til mange utviklingsprosjekter som streber etter enkelhet og lesbarhet i sine kodebaser.

I konteksten av Google Apps Script, kan bruk av TOML introdusere noe overhead, gitt mangel på direkte støtte og nødvendigheten for å analysere det manuelt eller gjennom tredjepartsbiblioteker. For mindre prosjekter eller de som ikke er dypt integrert i Googles økosystem, kan alternativer som JSON eller til og med enkle nøkkel-verdi par strukturer i scriptegenskaper være tilstrekkelige og mer rett frem å implementere. Men, for applikasjoner som prioriterer menneskevennlige konfigurasjonsfiler og allerede er forpliktet til TOML, legger integrering av TOML-tolkning gjennom tilpassede script til et nyttig lag av fleksibilitet og vedlikeholdbarhet uten å avvike fra de foretrukne konfigurasjonsparadigmene.