<commit_before>'use strict';

var slice  = require('es5-ext/lib/List/slice').call
  , invoke = require('es5-ext/lib/Object/invoke').apply
  , e      = require('es5-ext/lib/Object/descriptors/e')
  , v      = require('es5-ext/lib/Object/descriptors/v')

  , on, once, off, allOff, emit, getMethods, pname;

pname = '- ee -';

on = function (type, listener) {
	if (!this[pname]) {
		Object.defineProperty(this, pname, { value: {}, configurable: true });
	}
	if (!this[pname][type]) {
		this[pname][type] = [];
	}
	this[pname][type].push(listener);
	return this;
};

once = function (type, listener) {
	var off = this.off.bind(this);
	return this.on(type, function self () {
		off(type, self);
		listener.apply(this, arguments);
	});
};

off = function (type, listener) {
	var index, ls = this[pname] && this[pname][type];
	if (ls && ((index = ls.indexOf(listener)) !== -1)) {
		ls.splice(index, 1);
	}
	return this;
};

allOff = v(function () {
	delete this[pname];
});

emit = function (emitter, type) {
	var args;
	if (typeof emitter === 'string') {
		type = emitter;
		args = slice(arguments, 1);
		emitter = null;
	} else {
		args = slice(arguments, 2);
	}<commit_msg>Functions shouldn't depend on its property names on object<commit_after>'use strict';

var slice  = require('es5-ext/lib/List/slice').call
  , invoke = require('es5-ext/lib/Object/invoke').apply
  , e      = require('es5-ext/lib/Object/descriptors/e')
  , v      = require('es5-ext/lib/Object/descriptors/v')

  , on, once, off, allOff, emit, getMethods, pname;

pname = '- ee -';

on = function (type, listener) {
	if (!this[pname]) {
		Object.defineProperty(this, pname, { value: {}, configurable: true });
	}
	if (!this[pname][type]) {
		this[pname][type] = [];
	}
	this[pname][type].push(listener);
	return this;
};

once = function (type, listener) {
	var off = off.bind(this);
	return on.call(this, type, function self () {
		off(type, self);
		listener.apply(this, arguments);
	});
};

off = function (type, listener) {
	var index, ls = this[pname] && this[pname][type];
	if (ls && ((index = ls.indexOf(listener)) !== -1)) {
		ls.splice(index, 1);
	}
	return this;
};

allOff = v(function () {
	delete this[pname];
});

emit = function (emitter, type) {
	var args;
	if (typeof emitter === 'string') {
		type = emitter;
		args = slice(arguments, 1);
		emitter = null;
	} else {
		args = slice(arguments, 2);
	}
{'fraction_non_alphanumeric': 0.19404861693210393, 'fraction_numerical': 0.006705783738474434, 'mean_word_length': 3.8222222222222224, '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': '6363185', 'n_tokens_mistral': 917, 'n_tokens_neox': 880, 'n_words': 199}