Cast as template

by Abhishek Kumar

JavaScript

var Templator = {
  fitIn: function(template, arglist) {
    var output = template;
    for (var i = 0; i < arglist.length; i++) {
      output = output.replace(new RegExp('\\[' + i + '\\]', 'g'), arglist[i]);
    }
    return output;
  },
  castAs: function(template, list, cast) {
    var t, k, o = template;
    for (var i = 0; i < list.length; i++) {
      k = list[i];
      t = new RegExp("\\[" + k + "\\]", 'g')
      o = o.replace(t, this.fitIn(cast, [k]));
    }
    return o;
  }
};

var keys = ['firstname', 'lastname'];
var x = Templator.castAs('[firstname] [lastname]', keys, "-=:[0]:=-");

console.log(x);