diff --git a/src/compile/nodes/Binding.ts b/src/compile/nodes/Binding.ts
index 9f3dab38e7..49b7204c0e 100644
--- a/src/compile/nodes/Binding.ts
+++ b/src/compile/nodes/Binding.ts
@@ -8,13 +8,6 @@ import Block from '../render-dom/Block';
import Expression from './shared/Expression';
import { dimensions } from '../../utils/patterns';
-const readOnlyMediaAttributes = new Set([
- 'duration',
- 'buffered',
- 'seekable',
- 'played'
-]);
-
// TODO a lot of this element-specific stuff should live in Element —
// Binding should ideally be agnostic between Element and InlineComponent
@@ -54,263 +47,4 @@ export default class Binding extends Node {
this.obj = obj;
this.prop = prop;
}
-
- munge(
- block: Block
- ) {
- const node: Element = this.parent;
-
- const needsLock = node.name !== 'input' || !/radio|checkbox|range|color/.test(node.getStaticAttributeValue('type'));
- const isReadOnly = (
- (node.isMediaNode() && readOnlyMediaAttributes.has(this.name)) ||
- dimensions.test(this.name)
- );
-
- let updateConditions: string[] = [];
-
- const { name } = getObject(this.value.node);
- const { snippet } = this.value;
-
- // special case: if you have e.g. ``
- // and `selected` is an object chosen with a