/template

Micro template com recursos do puro do javascript a funcao curry e com memoizacao para evitar processamento repitidos

Primary LanguageJavaScript

$template

Micro template com recursos do puro do javascript a funcao curry e com memoizacao para evitar processamento repitidos

<script type="text/html" id="user_tmplate">
  <% while (users.hasNext()) { %>
    <li>
      <a href="<%= users.next().url %>"><%= users.current().name %></a>
    </li>
  <% } %>
</script>
this.Atomic(['$iterator', '$template'], function ($iterator, $template) {

  function $(selector) {
    return document.querySelector(selector);
  }
  
  function render(html) {
    $('body').innerHTML = html;
  }
  
  function users() {
    return $iterator([{ url: '#', name: 'cleber.programmer' }]);
  }
  
  $template($('#user_tmplate').innerHTML, users());
  
});