<commit_before>(function(mask){
	
	custom_Tags['define']  = Define;
	
	function Define(){}
	Define.prototype = {
		$meta: {
			serializeNodes: true
		},
		render: define,
		onRenderStartClient: define
	};
	
	function define(){
		var name;
		for(name in this.attr) break;
		
		var nodes = this.nodes;
		mask.registerHandler(name, Compo({
			renderStart: function(){
				this.nodes = mask.merge(nodes, this.nodes || [], this);
			}
		}));
	}
}(Mask));<commit_msg>* `Define` supports function declaration<commit_after>(function(mask){
	
	custom_Tags['define']  = Define;
	
	function Define(){}
	Define.prototype = {
		$meta: {
			serializeNodes: true
		},
		render: define,
		onRenderStartClient: define
	};
	
	function define(){
		var name;
		for(name in this.attr) break;
		
		var nodes = this.nodes;
		var Proto = {
			renderStart: function(){
				this.nodes = mask.merge(nodes, this.nodes || [], this);
				if (this.onRenderStart != null) 
					this.onRenderStart.apply(this, arguments);
			}
		};
		var imax = nodes.length,
			i = 0, x;
		for(; i<imax; i++) {
			x = nodes[i];
			if (x.tagName === 'function') {
				Proto[x.name] = x.fn;
				x.render = null;
			}
		}
		mask.registerHandler(name, Compo(Proto));
	}
	
}(Mask));
{'fraction_non_alphanumeric': 0.16612377850162866, 'fraction_numerical': 0.0008143322475570033, 'mean_word_length': 3.2525951557093427, 'pattern_counts': {'":': 0, '<': 4, '<?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': '2322199', 'n_tokens_mistral': 510, 'n_tokens_neox': 425, 'n_words': 94}