Nodejs String Template template(map)

Here you can find the source of template(map)

Method Source Code

String.prototype.template=function(map){
    return $(this.replace(/{([^}]+)}/g, function(m,g) {
        console.log(map, m,g)/* w ww  .j a va  2  s.c o m*/
        var segments = g.split('.');
        var val = map;
        for(var i in segments) {
            val=val[segments[i]];
        }
        return val;
    }));
};
 
    
$(function(){
    var link_template = '<li class="{class}"><a href="{url}">{title}</a></li>'
    var links = [
        {url:'index.html',title:'home'},
        {url:'catalog.html#boys',title:'boys'},
        {url:'catalog.html#girls',title:'girls'},
        {url:'catalog.html#skort.front',title:'skorts'}
    ];
    
    /*var n = $('#nav');
    n.empty();
    var href = location.pathname == '/' ? 'index.html' : location.href;
    $(links).each(function() {
        console.log(this);
        this['class'] = href.indexOf(this.url) == -1 ? '' : 'selected'
        n.append(link_template.template(this));
    });*/

});

Related

  1. template()
    String.prototype.template = function () {
      var current = this;
      function safeRegexEscape(str) {
        return str.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1");
      for (var i = 0; i < arguments.length; i++) {
        var arg = arguments[i];
        current = current.replace(new RegExp(safeRegexEscape("%%")), arg);
      return current;
    };
    
  2. template(fn, object)
    String.prototype.template = function (fn, object) {'use strict';
      var
        hasTransformer = typeof fn === 'function',
        stringify = JSON.stringify,
        re = /\$\{([\S\s]*?)\}/g,
        strings = [],
        values = hasTransformer ? [] : strings,
        i = 0,
        str,
    ...
    
  3. template(objVar)
    String.prototype.template = function (objVar)
      var strVar = this;
      if(typeof objVar === "object")
        var length = strVar.length;
        var start = -1;
        var key = "";
        for(var index = 0; index < length; index++)
    ...
    
  4. tmpl(d)
    String.prototype.tmpl = function(d) {
      return this.replace(/\$\$([^$]+)\$\$/g,
        Function('d', 'return function(_,s){with(d) return eval(s)}')(d||{}))
    };
    
  5. tmpl(o)
    String.prototype.tmpl = function(o) {
      return this.replace(/\{([^{}]*)\}/g, function(a, b) {
        var r = o[b];
        return typeof r === 'string' || typeof r === 'number' ? r : a;
      });
    };
    
  6. tmpl(obj)
    String.prototype.tmpl = function(obj){
        var str, keys, _do;
        str = this.toString();
        if(!obj || typeof obj !== "object"){
            return str;
        keys = Object.keys(obj);
        _do = function(key){
            var rgx = new RegExp("#{"+key+"}", "g");
    ...