patcher/patcher.js
function onList(newList) {
		var current = this.currentList || [];
		newList = newList || [];
		if (current[offPatchesSymbol]) {
			current[offPatchesSymbol](this.onPatchesNotify, "notify");
		}
		var patches = diff(current, newList);
		this.currentList = newList;
		this.onPatchesNotify(patches);
		if (newList[onPatchesSymbol]) {
			// If observable, set up bindings on list changes
			newList[onPatchesSymbol](this.onPatchesNotify, "notify");
		}
	}
function onList(newList) {
		var current = this.currentList || [];
		newList = newList || [];
		if (current[offPatchesSymbol]) {
			current[offPatchesSymbol](this.onPatchesNotify, "notify");
		}
		var patches = diff(current, newList);
		this.currentList = newList;
		this.onPatchesNotify(patches);
		if (newList[onPatchesSymbol]) {
			// If observable, set up bindings on list changes
			newList[onPatchesSymbol](this.onPatchesNotify, "notify");
		}
	}
function onList ( newList ) { var current = this . currentList || [ ] ; newList = newList || [ ] ; if ( current [ offPatchesSymbol ] ) { current [ offPatchesSymbol ] ( this . onPatchesNotify , "notify" ) ; } var patches = diff ( current , newList ) ; this . currentList = newList ; this . onPatchesNotify ( patches ) ; if ( newList [ onPatchesSymbol ] ) { // If observable, set up bindings on list changes newList [ onPatchesSymbol ] ( this . onPatchesNotify , "notify" ) ; } }
when the list changes, teardown the old list bindings and setup the new list
when the list changes teardown the old list bindings and setup the new list