code: function parseAttributes(dom, attrs, fn) {
    var this$1 = this;
  
    each(attrs, function (attr) {
      if (!attr) { return false }
  
      var name = attr.name, bool = isBoolAttr(name), expr;
  
      if (contains(REF_DIRECTIVES, name)) {
        expr =  Object.create(RefExpr).init(dom, this$1, name, attr.value);
      } else if (tmpl.hasExpr(attr.value)) {
        expr = {dom: dom, expr: attr.value, attr: name, bool: bool};
      }
  
      fn(attr, expr);
    });
  }
docs: Calls `fn` for every attribute on an element. If that attr has an expression,
  it is also passed to fn.
  @this Tag
  @param   { HTMLElement } dom - dom node to parse
  @param   { Array } attrs - array of attributes
  @param   { Function } fn - callback to exec on any iteration