code: function template(fn, $str, $object) {'use strict';
    // reset cache every 32M
    if (33554432 < template.$) {
      template._ = {};
      template.$ = 0;
    }
    var
      hasTransformer = typeof fn === 'function',
      str = hasTransformer ? $str : fn,
      object = hasTransformer ? $object : $str,
      _ = template._,
      known = _.hasOwnProperty(str),
      parsed = known ? _[str] : (_[str] = template.parse(str)),
      chunks = parsed.chunks,
      values = parsed.values,
      strings
    ;
    // add str length only if not known
    if (!known)
      template.$ += str.length;
    if (hasTransformer) {
      str = 'function' + (Math.random() * 1e5 | 0);
      strings = [
        str,
        'with(this)return ' + str + '([' + chunks + ']' + (
          values.length ? (',' + values.join(',')) : ''
        ) + ')'
      ];
    } else {
      strings = chunks.slice(0, 1);
      for (var i = 1, length = chunks.length; i < length; i++)
        strings.push(values[i - 1], chunks[i]);
      strings = ['with(this)return ' + strings.join('+')];
    }
    return Function.apply(null, strings).apply(
      object,
      hasTransformer ? [fn] : []
    );
  }
docs: /*! (C) 2017-2018 Andrea Giammarchi - MIT Style License