<commit_before>define([
	"dojo/_base/declare",
	"./Input",
	"frb/bind",
], function(declare, Input, bind){

	return declare(Input, {
		domAttrs: {
			type: "number",
		},
		constructor: function(){
			this._cancelValueBinding();//cancel binding inherited from Input
			this._cancelValueBinding = bind(this, "domNode.value", {"<->": "+_presenter.value"});//coerce to number
		},
	});
});<commit_msg>NumberInput<commit_after>define([
	'compose',
	'ksf/dom/composite/CompositeMono',
	'./HtmlElementWithChanged',
], function(
	compose,
	CompositeMono,
	HtmlElementWithChanged
){
	return compose(
		CompositeMono,
		function(args) {
			this._component = new HtmlElementWithChanged('input', {type: "number"});
			this._component.bind('value', this, 'value', {
				convert: function(number) { return number; }, // nothing to do
				revert: function(string) { return parseInt(string, 10); },
			});
		}
	);
});
{'fraction_non_alphanumeric': 0.17960088691796008, 'fraction_numerical': 0.0022172949002217295, 'mean_word_length': 4.751592356687898, 'pattern_counts': {'":': 1, '<': 4, '<?xml version=': 0, '>': 4, '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': '4867226', 'n_tokens_mistral': 334, 'n_tokens_neox': 300, 'n_words': 57}