Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3

This is the code for the TEMexpand function:

function TEMconvertString(V){
   if (!V) { return ''} else { return V.toString(); }
}

function TEMexpandLine(Tokens, Row, Array){
   for (var i =0; i < Tokens.length-1; i+=2){
      Array.push(Tokens[i]);
      Array.push(TEMconvertString(Row[Tokens[i+1]])
         .replaceAll("&", "&amp;")
         .replaceAll("<", "&lt;")
         .replaceAll(">", "&gt;"))
   }
   Array.push(Tokens[Tokens.length-1]);
}

function TEMexpand(Data, Template){
   var Array = [];
   var Tokens = Template.replaceAll("$$", "_FuNkYDolARAM").split('$');
   for (var i =0; i < Data.length; i++){
      TEMexpandLine(Tokens, Data[i], Array);
   }
   return Array.join('').replaceAll("_FuNkYDolARAM", "$");
}

What are the advantages compared to using a more fully featured templating system like Mustache?

The code does use some techniques which are worth understanding:

  • No labels