function bind(input, view) {
const value = ["range", "number"].includes(input.type) ? "valueAsNumber" : "value";
var update;
if (input.type == "file") {
update = () => { };
input.oninput = () => { view.value = input.files };
}
else if (input.type == "radiogroup") {
update = () => { input.setter(view.value) };
input.oninput = () => { view.value = input.getter() };
}
else if (input.type == "checkbox") {
update = () => input.checked = view.value;
input.oninput = () => view.value = input.checked;
}
else {
update = () => input[value] = view.value;
input.oninput = () => view.value = input[value];
}
view.addEventListener("input", update);
disposal(input).then(() => view.removeEventListener("input", update));
return update(), input;
}