<commit_before>"use strict";
// experimental stuff
MK.DOMArray = Class({
	'extends': MK.Array,
	initMK: function() {
		MK.DOMArray.parent.initMK( this );
		return this
			.on( 'push', function( evt ) {
				if( evt ) {
					for( var i = this.length - evt.arguments.length; i < this.length; i++ ) {
						this.doItem( this[ i ] ).$el( this.__id ).appendTo( this.$el() );
					}
				}
			})
			.on( 'pop', function( evt ) {
				if( evt && evt.returns ) {
					evt.returns.$el( this.__id ).remove()
					this.killItem( evt.returns );
				}
			})
			.on( 'unshift', function( evt ) {
				if( evt ) {
					for( var i = evt.arguments.length - 1; i + 1; i-- ) {
						this.doItem( this[ i ] ).$el( this.__id ).prependTo( this.$el() );
					}
				}
			})
			.on( 'shift', function( evt ) {
				if( evt && evt.returns ) {
					evt.returns.$el( this.__id ).remove()
					this.killItem( evt.returns );
				}
			})
			.on( 'sort reverse', function() {
				for( var i = 0; i < this.length; i++ ) {
					this[ i ].$el( this.__id ).appendTo( this.$el() );
				}
			})
			.on( 'splice', function( evt ) {
				for( var i = 0; i < evt.returns.length; i++ ) {
					evt.returns[ i ].$el( this.__id ).remove()
					this.killItem( evt.returns[ i ] );
				}
				for( var i = 0; i < this.length; i++ ) {
					this.doItem( this[ i ] ).$el( this.__id ).appendTo( this.$el() );
				}
			})
		;
	},
	doItem: function( item ) {
		var __id = this.__id,
			el,
			$el;
			
		if( !item[ __id ] ) {
			item[ __id ] = this;
		}

		if( this.renderer ) {
			if( !item.el( __id ) ) {
				$el = $( this.renderer( item ) );
				item
					.bindElement( __id, $el )
					.trigger( 'render' )
				;
			}
		}
		
		return item;
	},
	killItem: function( item ) {
		return item.remove( this.__id, {
			silent: true
		});
	}
});<commit_msg>updated domarray<commit_after>"use strict";
// experimental stuff
MK.DOMArray = Class({
	'extends': MK.Array,
	initMK: function() {
		MK.DOMArray.parent.initMK( this );
		return this
			.on( 'push', function( evt ) {
				if( evt ) {
					for( var i = this.length - evt.arguments.length; i < this.length; i++ ) {
						this.doItem( this[ i ] ).$el( this.__id ).appendTo( this.$el() );
					}
				}
			})
			.on( 'pop', function( evt ) {
				if( evt && evt.returns ) {
					evt.returns.$el( this.__id ).remove()
					this.killItem( evt.returns );
				}
			})
			.on( 'unshift', function( evt ) {
				if( evt ) {
					for( var i = evt.arguments.length - 1; i + 1; i-- ) {
						this.doItem( this[ i ] ).$el( this.__id ).prependTo( this.$el() );
					}
				}
			})
			.on( 'shift', function( evt ) {
				if( evt && evt.returns ) {
					evt.returns.$el( this.__id ).remove()
					this.killItem( evt.returns );
				}
			})
			.on( 'sort reverse', function() {
				for( var i = 0; i < this.length; i++ ) {
					this[ i ].$el( this.__id ).appendTo( this.$el() );
				}
			})
			.on( 'splice', function( evt ) {
				for( var i = 0; i < evt.returns.length; i++ ) {
					evt.returns[ i ].$el( this.__id ).remove()
					this.killItem( evt.returns[ i ] );
				}
				for( var i = 0; i < this.length; i++ ) {
					this.doItem( this[ i ] ).$el( this.__id ).appendTo( this.$el() );
				}
			})
		;
	},
	doItem: function( item ) {
		var __id = this.__id,
			el,
			$el;
			
		if( !item[ __id ] ) {
			item[ __id ] = this;
		}

		if( this.renderer ) {
			if( !item.el( __id ) ) {
				$el = $( this.renderer( item ) );
				console.log( $el )
				item
					.bindElement( __id, $el )
					.trigger( 'render' )
				;
			}
		}
		
		return item;
	},
	killItem: function( item ) {
		return item.remove( this.__id, {
			silent: true
		});
	}
});
{'fraction_non_alphanumeric': 0.20221606648199447, 'fraction_numerical': 0.002770083102493075, 'mean_word_length': 2.049831081081081, 'pattern_counts': {'":': 0, '<': 11, '<?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': '2347775', 'n_tokens_mistral': 1753, 'n_tokens_neox': 1431, 'n_words': 339}