function textInterpolate(i) { | |
return function(t) { | |
this.textContent = i.call(this, t); | |
}; | |
} | |
function textTween(value) { | |
var t0, i0; | |
function tween() { | |
var i = value.apply(this, arguments); | |
if (i !== i0) t0 = (i0 = i) && textInterpolate(i); | |
return t0; | |
} | |
tween._value = value; | |
return tween; | |
} | |
export default function(value) { | |
var key = "text"; | |
if (arguments.length < 1) return (key = this.tween(key)) && key._value; | |
if (value == null) return this.tween(key, null); | |
if (typeof value !== "function") throw new Error; | |
return this.tween(key, textTween(value)); | |
} | |