<commit_before>app.factory('Notification',[function() {
  return {
    _listeners:{},

    /**
    * Adiciona um listener
    * @param name : Nome do evento
    * @param listener : Listener callback
    */  
    addEventListener:function(name,listener){
      if(!this._listeners[name]){
          this._listeners[name] = [];
      }
      this._listeners[name].push(listener)
    },


    /**
       * Remove um listener
       * @param name : Nome do evento
       * @param listener : Listener callback
       */  
    removeEventListener:function(name,listener){
      if(this._listeners[name]){
        var index = this._listeners[name].indexOf(listener);

        if(index!==-1){
            this._listeners[name].splice(index,1);
        }
      }
    },


    /**
    * Notifica um evento
    * @param Mutiplos parâmetros disponíveis, o primeiro deve ser uma string
    */ 
    notify:function(){
      var listeners;

      if (typeof arguments[0] !== 'string'){
        console.warn('Notification','First params must be an event type (String)')
      } else {
        listeners = this._listeners[arguments[0]];

        for(var key in listeners){
          listeners[key].apply(null, arguments);
          //listeners[key](arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6]);
        }
      }
    },
  };
}])<commit_msg>Diretiva para consulta e validação de campos únicos em form com evento onblur e refatoração do notification<commit_after>app.factory('Notification',[function() {
  return {
    _listeners:{},

    /**
    * Adiciona um listener
    * @param name : Nome do evento
    * @param listener : Listener callback
    */  
    addEventListener:function(name,listener){
      if(!this._listeners[name]){
          this._listeners[name] = [];
      }
      this._listeners[name].push(listener)
    },


    /**
       * Remove um listener
       * @param name : Nome do evento
       * @param listener : Listener callback
       */  
    removeEventListener:function(name,listener){
      if(this._listeners[name]){
        var index = this._listeners[name].indexOf(listener);

        if(index!==-1){
            this._listeners[name].splice(index,1);
        }
      }
    },


    /**
    * Notifica um evento
    * @param Mutiplos parâmetros disponíveis, o primeiro deve ser uma string
    */ 
    notify:function(){
      var listeners;

      if (typeof arguments[0] !== 'string'){
        console.warn('Notification','Primeiro parâmetro deve ser um nome de evento (String)')
      } else {
        listeners = this._listeners[arguments[0]];

        for(var key in listeners){
          listeners[key].apply(null, arguments);
        }
      }
    },
  };
}])
{'fraction_non_alphanumeric': 0.13394495412844037, 'fraction_numerical': 0.005504587155963303, 'mean_word_length': 2.394769613947696, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3352124', 'n_tokens_mistral': 827, 'n_tokens_neox': 801, 'n_words': 168}