<commit_before>define(function(){
	var exports = {};

	exports.newTimer = function(progback, timeInMillis){
		var timer = {
			handler: -1,
			interrupt: function(){
				if(this.handler !== -1){
					clearTimeout(this.handler);
					this.handler = -1;
				}
			},
			bundle: {
				count: 0
			},
			stop: function(){
				clearTimeout(this.handler);
				this.handler = -1;
			}
		};

		var timerCallback = function(){
			timer.bundle.count += 1;
			progback(timer.bundle);
			timer.handler = setTimeout(timerCallback, timeInMillis);
		};

		timer.handler = setTimeout(timerCallback, timeInMillis);
		return timer;
	};

	return exports;
});<commit_msg>Fix for Timer does not stop.<commit_after>define(function(){
	var exports = {};

	exports.newTimer = function(progback, timeInMillis){
		var timer = {
			handler: -1,
			bundle: {
				count: 0
			},
			stop: function(){
				clearInterval(timer.handler);
				timer.handler = -1;
			}
		};

		timer.handler = setInterval(function(){
			timer.bundle.count += 1;
			progback(timer.bundle);
		}, timeInMillis);
		return timer;
	};

	return exports;
});
{'fraction_non_alphanumeric': 0.15314494074749316, 'fraction_numerical': 0.009115770282588878, 'mean_word_length': 3.159090909090909, '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': '6457041', 'n_tokens_mistral': 447, 'n_tokens_neox': 360, 'n_words': 74}