Skip to content

Commit

Permalink
Singularize.
Browse files Browse the repository at this point in the history
  • Loading branch information
mbostock committed Feb 23, 2016
1 parent b2230df commit 404df72
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 27 deletions.
22 changes: 11 additions & 11 deletions src/transition/schedule.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import {dispatch} from "d3-dispatch";
import {timer, timeout} from "d3-timer";

var emptyOn = dispatch("start", "end", "interrupt");
var emptyTweens = [];
var emptyTween = [];

var CREATED = 0,
SCHEDULED = 1,
Expand All @@ -17,7 +17,7 @@ export default function(node, key, id, index, group, timing) {
index: index, // For context during callback.
group: group, // For context during callback.
on: emptyOn,
tweens: emptyTweens,
tween: emptyTween,
time: timing.time,
delay: timing.delay,
duration: timing.duration,
Expand Down Expand Up @@ -56,7 +56,7 @@ export function get(node, key, id) {

function start(node, key, self) {
var schedules = node[key],
tweens;
tween;

// Initialize the self timer when the transition is created.
// Note the actual delay is not known until the first callback!
Expand Down Expand Up @@ -108,27 +108,27 @@ function start(node, key, self) {
});

// Dispatch the start event.
// Note this must be done before the tweens are initialized.
// Note this must be done before the tween are initialized.
self.on.call("start", node, node.__data__, self.index, self.group);
self.state = STARTED;

// Initialize the tweens, deleting null tweens.
tweens = new Array(n = self.tweens.length);
// Initialize the tween, deleting null tween.
tween = new Array(n = self.tween.length);
for (i = 0, j = -1; i < n; ++i) {
if (o = self.tweens[i].value.call(node, node.__data__, self.index, self.group)) {
tweens[++j] = o;
if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {
tween[++j] = o;
}
}
tweens.length = j + 1;
tween.length = j + 1;
}

function tick(elapsed) {
var t = elapsed / self.duration,
e = t >= 1 ? 1 : self.ease.call(null, t),
i, n;

for (i = 0, n = tweens.length; i < n; ++i) {
tweens[i].call(null, e);
for (i = 0, n = tween.length; i < n; ++i) {
tween[i].call(null, e);
}

// Dispatch the end event.
Expand Down
32 changes: 16 additions & 16 deletions src/transition/tween.js
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
import {get, set} from "./schedule";

function tweenFunction(key, id, name, value) {
var tweens0, tweens1;
var tween0, tween1;
return function() {
var schedule = set(this, key, id),
tweens = schedule.tweens;
tween = schedule.tween;

// If this node shared tweens with the previous node,
// just assign the updated shared tweens and we’re done!
// If this node shared tween with the previous node,
// just assign the updated shared tween and we’re done!
// Otherwise, copy-on-write.
if (tweens !== tweens0) {
tweens1 = (tweens0 = tweens).slice();
for (var t = {name: name, value: value}, i = 0, n = tweens1.length; i < n; ++i) {
if (tweens1[i].name === name) {
tweens1[i] = t;
if (tween !== tween0) {
tween1 = (tween0 = tween).slice();
for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {
if (tween1[i].name === name) {
tween1[i] = t;
break;
}
}
if (i === n) tweens1.push(t);
if (i === n) tween1.push(t);
}

schedule.tweens = tweens1;
schedule.tween = tween1;
};
}

Expand All @@ -31,9 +31,9 @@ export default function(name, value) {
name += "";

if (arguments.length < 2) {
var tweens = get(this.node(), key, id).tweens;
for (var i = 0, n = tweens.length, t; i < n; ++i) {
if ((t = tweens[i]).name === name) {
var tween = get(this.node(), key, id).tween;
for (var i = 0, n = tween.length, t; i < n; ++i) {
if ((t = tween[i]).name === name) {
return t.value;
}
}
Expand All @@ -50,10 +50,10 @@ export function tweenValue(transition, name, value) {

transition.each(function() {
var schedule = set(this, key, id), v = value.apply(this, arguments);
(schedule.values || (schedule.values = {}))[name] = v == null ? null : v + "";
(schedule.value || (schedule.value = {}))[name] = v == null ? null : v + "";
});

return function(node) {
return get(node, key, id).values[name];
return get(node, key, id).value[name];
};
}

0 comments on commit 404df72

Please sign in to comment.