Skip to content

Commit a08a94a

Browse files
authored
make setting tweened with duration=0 instantly update (#4766)
1 parent f111cf6 commit a08a94a

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

src/runtime/motion/tweened.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,11 @@ export function tweened<T>(value?: T, defaults: Options<T> = {}): Tweened<T> {
9393
interpolate = get_interpolator
9494
} = assign(assign({}, defaults), opts);
9595

96+
if (duration === 0) {
97+
store.set(target_value);
98+
return Promise.resolve();
99+
}
100+
96101
const start = now() + delay;
97102
let fn;
98103

test/motion/index.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,12 @@ describe('motion', () => {
1919
size.set(100);
2020
assert.equal(get(size), 100);
2121
});
22+
23+
it('sets immediately when duration is 0', () => {
24+
const size = tweened(0);
25+
26+
size.set(100, { duration : 0 });
27+
assert.equal(get(size), 100);
28+
});
2229
});
2330
});

0 commit comments

Comments
 (0)