Skip to content

Commit 5f7bfac

Browse files
authored
chore: cleanup event changes (#11821)
Takes some changes from #11810 that are only cleanup/renaming.
1 parent 5620882 commit 5f7bfac

File tree

11 files changed

+51
-39
lines changed

11 files changed

+51
-39
lines changed

packages/svelte/src/internal/client/dom/elements/bindings/input.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { stringify } from '../../../render.js';
44
import { listen_to_event_and_reset_event } from './shared.js';
55
import * as e from '../../../errors.js';
66
import { get_proxied_value, is } from '../../../proxy.js';
7-
import { yield_updates } from '../../../runtime.js';
7+
import { yield_event_updates } from '../../../runtime.js';
88

99
/**
1010
* @param {HTMLInputElement} input
@@ -19,7 +19,9 @@ export function bind_value(input, get_value, update) {
1919
e.bind_invalid_checkbox_value();
2020
}
2121

22-
yield_updates(() => update(is_numberlike_input(input) ? to_number(input.value) : input.value));
22+
yield_event_updates(() =>
23+
update(is_numberlike_input(input) ? to_number(input.value) : input.value)
24+
);
2325
});
2426

2527
render_effect(() => {
@@ -85,10 +87,10 @@ export function bind_group(inputs, group_index, input, get_value, update) {
8587
value = get_binding_group_value(binding_group, value, input.checked);
8688
}
8789

88-
yield_updates(() => update(value));
90+
yield_event_updates(() => update(value));
8991
},
9092
// TODO better default value handling
91-
() => yield_updates(() => update(is_checkbox ? [] : null))
93+
() => yield_event_updates(() => update(is_checkbox ? [] : null))
9294
);
9395

9496
render_effect(() => {
@@ -129,7 +131,7 @@ export function bind_group(inputs, group_index, input, get_value, update) {
129131
export function bind_checked(input, get_value, update) {
130132
listen_to_event_and_reset_event(input, 'change', () => {
131133
var value = input.checked;
132-
yield_updates(() => update(value));
134+
yield_event_updates(() => update(value));
133135
});
134136

135137
if (get_value() == undefined) {
@@ -188,7 +190,7 @@ function to_number(value) {
188190
*/
189191
export function bind_files(input, get_value, update) {
190192
listen_to_event_and_reset_event(input, 'change', () => {
191-
yield_updates(() => update(input.files));
193+
yield_event_updates(() => update(input.files));
192194
});
193195
render_effect(() => {
194196
input.files = get_value();

packages/svelte/src/internal/client/dom/elements/bindings/media.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { hydrating } from '../../hydration.js';
22
import { render_effect, effect } from '../../../reactivity/effects.js';
33
import { listen } from './shared.js';
4-
import { yield_updates } from '../../../runtime.js';
4+
import { yield_event_updates } from '../../../runtime.js';
55

66
/** @param {TimeRanges} ranges */
77
function time_ranges_to_array(ranges) {
@@ -36,7 +36,7 @@ export function bind_current_time(media, get_value, update) {
3636
}
3737

3838
updating = true;
39-
yield_updates(() => update(media.currentTime));
39+
yield_event_updates(() => update(media.currentTime));
4040
};
4141

4242
raf_id = requestAnimationFrame(callback);
@@ -62,7 +62,7 @@ export function bind_current_time(media, get_value, update) {
6262
*/
6363
export function bind_buffered(media, update) {
6464
listen(media, ['loadedmetadata', 'progress'], () =>
65-
yield_updates(() => update(time_ranges_to_array(media.buffered)))
65+
yield_event_updates(() => update(time_ranges_to_array(media.buffered)))
6666
);
6767
}
6868

@@ -80,7 +80,7 @@ export function bind_seekable(media, update) {
8080
*/
8181
export function bind_played(media, update) {
8282
listen(media, ['timeupdate'], () =>
83-
yield_updates(() => update(time_ranges_to_array(media.played)))
83+
yield_event_updates(() => update(time_ranges_to_array(media.played)))
8484
);
8585
}
8686

@@ -89,15 +89,15 @@ export function bind_played(media, update) {
8989
* @param {(seeking: boolean) => void} update
9090
*/
9191
export function bind_seeking(media, update) {
92-
listen(media, ['seeking', 'seeked'], () => yield_updates(() => update(media.seeking)));
92+
listen(media, ['seeking', 'seeked'], () => yield_event_updates(() => update(media.seeking)));
9393
}
9494

9595
/**
9696
* @param {HTMLVideoElement | HTMLAudioElement} media
9797
* @param {(seeking: boolean) => void} update
9898
*/
9999
export function bind_ended(media, update) {
100-
listen(media, ['timeupdate', 'ended'], () => yield_updates(() => update(media.ended)));
100+
listen(media, ['timeupdate', 'ended'], () => yield_event_updates(() => update(media.ended)));
101101
}
102102

103103
/**
@@ -108,7 +108,7 @@ export function bind_ready_state(media, update) {
108108
listen(
109109
media,
110110
['loadedmetadata', 'loadeddata', 'canplay', 'canplaythrough', 'playing', 'waiting', 'emptied'],
111-
() => yield_updates(() => update(media.readyState))
111+
() => yield_event_updates(() => update(media.readyState))
112112
);
113113
}
114114

@@ -132,7 +132,7 @@ export function bind_playback_rate(media, get_value, update) {
132132
}
133133

134134
listen(media, ['ratechange'], () => {
135-
if (!updating) yield_updates(() => update(media.playbackRate));
135+
if (!updating) yield_event_updates(() => update(media.playbackRate));
136136
updating = false;
137137
});
138138
});
@@ -150,7 +150,7 @@ export function bind_paused(media, get_value, update) {
150150
var callback = () => {
151151
if (paused !== media.paused) {
152152
paused = media.paused;
153-
yield_updates(() => update((paused = media.paused)));
153+
yield_event_updates(() => update((paused = media.paused)));
154154
}
155155
};
156156

@@ -175,7 +175,7 @@ export function bind_paused(media, get_value, update) {
175175
media.pause();
176176
} else {
177177
media.play().catch(() => {
178-
yield_updates(() => update((paused = true)));
178+
yield_event_updates(() => update((paused = true)));
179179
});
180180
}
181181
};
@@ -239,7 +239,7 @@ export function bind_muted(media, get_value, update) {
239239

240240
var callback = () => {
241241
updating = true;
242-
yield_updates(() => update(media.muted));
242+
yield_event_updates(() => update(media.muted));
243243
};
244244

245245
if (get_value() == null) {
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { yield_updates } from '../../../runtime.js';
1+
import { yield_event_updates } from '../../../runtime.js';
22
import { listen } from './shared.js';
33

44
/**
@@ -7,6 +7,6 @@ import { listen } from './shared.js';
77
*/
88
export function bind_online(update) {
99
listen(window, ['online', 'offline'], () => {
10-
yield_updates(() => update(navigator.onLine));
10+
yield_event_updates(() => update(navigator.onLine));
1111
});
1212
}

packages/svelte/src/internal/client/dom/elements/bindings/select.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { effect } from '../../../reactivity/effects.js';
22
import { listen_to_event_and_reset_event } from './shared.js';
3-
import { untrack, yield_updates } from '../../../runtime.js';
3+
import { untrack, yield_event_updates } from '../../../runtime.js';
44
import { is } from '../../../proxy.js';
55

66
/**
@@ -90,7 +90,7 @@ export function bind_select_value(select, get_value, update) {
9090
value = selected_option && get_option_value(selected_option);
9191
}
9292

93-
yield_updates(() => update(value));
93+
yield_event_updates(() => update(value));
9494
});
9595

9696
// Needs to be an effect, not a render_effect, so that in case of each loops the logic runs after the each block has updated

packages/svelte/src/internal/client/dom/elements/bindings/size.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { effect, render_effect } from '../../../reactivity/effects.js';
2-
import { untrack, yield_updates } from '../../../runtime.js';
2+
import { untrack, yield_event_updates } from '../../../runtime.js';
33

44
/**
55
* Resize observer singleton.
@@ -90,7 +90,7 @@ export function bind_resize_observer(element, type, update) {
9090

9191
var unsub = observer.observe(
9292
element,
93-
/** @param {any} entry */ (entry) => yield_updates(() => update(entry[type]))
93+
/** @param {any} entry */ (entry) => yield_event_updates(() => update(entry[type]))
9494
);
9595
render_effect(() => unsub);
9696
}
@@ -104,7 +104,7 @@ export function bind_element_size(element, type, update) {
104104
var unsub = resize_observer_border_box.observe(element, () => update(element[type]));
105105

106106
effect(() => {
107-
yield_updates(() => untrack(() => update(element[type])));
107+
yield_event_updates(() => untrack(() => update(element[type])));
108108
return unsub;
109109
});
110110
}

packages/svelte/src/internal/client/dom/elements/bindings/this.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { STATE_SYMBOL } from '../../../constants.js';
22
import { effect, render_effect } from '../../../reactivity/effects.js';
3-
import { untrack, yield_updates } from '../../../runtime.js';
3+
import { untrack, yield_event_updates } from '../../../runtime.js';
44
import { queue_micro_task } from '../../task.js';
55

66
/**
@@ -37,7 +37,7 @@ export function bind_this(element_or_component, update, get_value, get_parts) {
3737

3838
untrack(() => {
3939
if (element_or_component !== get_value(...parts)) {
40-
yield_updates(() => {
40+
yield_event_updates(() => {
4141
update(element_or_component, ...parts);
4242
// If this is an effect rerun (cause: each block context changes), then nullfiy the binding at
4343
// the previous position if it isn't already taken over by a different effect.

packages/svelte/src/internal/client/dom/elements/bindings/window.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { effect, render_effect } from '../../../reactivity/effects.js';
2-
import { yield_updates } from '../../../runtime.js';
2+
import { yield_event_updates } from '../../../runtime.js';
33
import { listen } from './shared.js';
44

55
/**
@@ -16,7 +16,7 @@ export function bind_window_scroll(type, get_value, update) {
1616
clearTimeout(timeout);
1717
timeout = setTimeout(clear, 100); // TODO use scrollend event if supported (or when supported everywhere?)
1818

19-
yield_updates(() => update(window[is_scrolling_x ? 'scrollX' : 'scrollY']));
19+
yield_event_updates(() => update(window[is_scrolling_x ? 'scrollX' : 'scrollY']));
2020
};
2121

2222
addEventListener('scroll', target_handler, {
@@ -64,5 +64,5 @@ export function bind_window_scroll(type, get_value, update) {
6464
* @param {(size: number) => void} update
6565
*/
6666
export function bind_window_size(type, update) {
67-
listen(window, ['resize'], () => yield_updates(() => update(window[type])));
67+
listen(window, ['resize'], () => yield_event_updates(() => update(window[type])));
6868
}

packages/svelte/src/internal/client/dom/elements/events.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { render_effect } from '../../reactivity/effects.js';
22
import { all_registered_events, root_event_handles } from '../../render.js';
3-
import { yield_updates } from '../../runtime.js';
3+
import { yield_event_updates } from '../../runtime.js';
44
import { define_property, is_array } from '../../utils.js';
55
import { hydrating } from '../hydration.js';
66
import { queue_micro_task } from '../task.js';
@@ -48,7 +48,7 @@ export function create_event(event_name, dom, handler, options) {
4848
handle_event_propagation(dom, event);
4949
}
5050
if (!event.cancelBubble) {
51-
return yield_updates(() => handler.call(this, event));
51+
return yield_event_updates(() => handler.call(this, event));
5252
}
5353
}
5454

@@ -204,7 +204,7 @@ export function handle_event_propagation(handler_element, event) {
204204
}
205205

206206
try {
207-
yield_updates(() => next(/** @type {Element} */ (current_target)));
207+
yield_event_updates(() => next(/** @type {Element} */ (current_target)));
208208
} finally {
209209
// @ts-expect-error is used above
210210
event.__root = handler_element;

packages/svelte/src/internal/client/runtime.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -738,7 +738,7 @@ function process_effects(effect, collected_effects) {
738738
/**
739739
* @param {{ (): void; (): any; }} fn
740740
*/
741-
export function yield_updates(fn) {
741+
export function yield_event_updates(fn) {
742742
const previous_scheduler_mode = current_scheduler_mode;
743743
try {
744744
current_scheduler_mode = FLUSH_YIELD;
@@ -767,6 +767,8 @@ export function flush_sync(fn, flush_previous = true) {
767767

768768
current_scheduler_mode = FLUSH_SYNC;
769769
current_queued_root_effects = root_effects;
770+
is_yield_task_queued = false;
771+
is_micro_task_queued = false;
770772

771773
if (flush_previous) {
772774
flush_queued_root_effects(previous_queued_root_effects);

packages/svelte/tests/runtime-legacy/samples/binding-input-group-each-7/_config.js

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { flushSync } from 'svelte';
12
import { test } from '../../test';
23

34
export default test({
@@ -22,15 +23,15 @@ export default test({
2223
<input type="checkbox" value="c" data-index="z-2">
2324
`,
2425

25-
async test({ assert, target, window }) {
26+
test({ assert, target, window }) {
2627
const inputs = target.querySelectorAll('input');
2728
const checked = new Set();
2829

2930
/** @param {number} i */
30-
const checkInbox = async (i) => {
31+
const checkInbox = (i) => {
3132
checked.add(i);
3233
inputs[i].checked = true;
33-
await inputs[i].dispatchEvent(event);
34+
inputs[i].dispatchEvent(event);
3435
};
3536

3637
for (let i = 0; i < 18; i++) {
@@ -39,17 +40,20 @@ export default test({
3940

4041
const event = new window.Event('change');
4142

42-
await checkInbox(2);
43+
checkInbox(2);
44+
flushSync();
4345
for (let i = 0; i < 18; i++) {
4446
assert.equal(inputs[i].checked, checked.has(i));
4547
}
4648

47-
await checkInbox(12);
49+
checkInbox(12);
50+
flushSync();
4851
for (let i = 0; i < 18; i++) {
4952
assert.equal(inputs[i].checked, checked.has(i));
5053
}
5154

52-
await checkInbox(8);
55+
checkInbox(8);
56+
flushSync();
5357
for (let i = 0; i < 18; i++) {
5458
assert.equal(inputs[i].checked, checked.has(i));
5559
}

0 commit comments

Comments
 (0)