<NME> index.es
<BEF> class TokenList {

  constructor (node) {

    const
      visit = node =>
        node.attributes && [].slice
           .call (node.attributes)
           .map  (collect)
        || collect (node)

    , collect = node =>
        /{(\w+|#)}/.test (node.textContent)
          && (node.text = node.textContent)
              .match (/[^{]+(?=})/g)
              .map   (symbol => (this [symbol] || (this [symbol] = [])).push (node))

    , walker =
        document.createNodeIterator
          (node, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_TEXT, visit, null)

    while (walker.nextNode ()) null // Walk all nodes and do nothing.
  }


  bind (context) {

    const
      tokenize = symbol => node =>
        (node.textContent
          = node.textContent
          .split ('{'+symbol+'}')
          .join  (context [symbol]))

    for (let symbol in this)
      symbol != 'bind'
        && this [symbol].map
          (node => (node.textContent = node.text))

    for (let symbol in this)
      symbol != 'bind'
        && this [symbol].map
          (tokenize (symbol)) // more than one occurrence
  }
}

          .join  (context [symbol]))


    for (let symbol in this)
      this [symbol]
        .map (node => (node.textContent = node.text) && node)


    for (let symbol in this)

<MSG> Add console logging

<DFF> @@ -53,9 +53,12 @@ class TokenList {
           .join  (context [symbol]))
 
 
-    for (let symbol in this)
+    for (let symbol in this) {
+      console.log ('symbol', symbol)
+
       this [symbol]
         .map (node => (node.textContent = node.text) && node)
+    }
 
 
     for (let symbol in this)

{'addition_count': 4, 'commit_subject': 'Add console logging', 'deletion_count': 1, 'file_extension': '.es', 'lang': 'es', 'license': 'mit', 'repo_name': 'devpunks/snuggsi'}