Skip to content

Commit 9d5bca1

Browse files
committed
remove without_reactive_context
1 parent b72fd2b commit 9d5bca1

File tree

4 files changed

+11
-32
lines changed

4 files changed

+11
-32
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { DEV } from 'esm-env';
22
import { render_effect, teardown } from '../../../reactivity/effects.js';
3-
import { listen_to_event_and_reset_event, without_reactive_context } from './shared.js';
3+
import { listen_to_event_and_reset_event } from './shared.js';
44
import * as e from '../../../errors.js';
55
import { is } from '../../../proxy.js';
66
import { queue_micro_task } from '../../task.js';

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

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -31,23 +31,6 @@ export function listen(target, events, handler, call_handler_immediately = true)
3131
});
3232
}
3333

34-
/**
35-
* @template T
36-
* @param {() => T} fn
37-
*/
38-
export function without_reactive_context(fn) {
39-
var previous_reaction = active_reaction;
40-
var previous_effect = active_effect;
41-
set_active_reaction(null);
42-
set_active_effect(null);
43-
try {
44-
return fn();
45-
} finally {
46-
set_active_reaction(previous_reaction);
47-
set_active_effect(previous_effect);
48-
}
49-
}
50-
5134
/**
5235
* Listen to the given event, and then instantiate a global form reset listener if not already done,
5336
* to notify all bindings when the form is reset
@@ -57,7 +40,7 @@ export function without_reactive_context(fn) {
5740
* @param {() => void} [on_reset]
5841
*/
5942
export function listen_to_event_and_reset_event(element, event, handler, on_reset = handler) {
60-
element.addEventListener(event, () => without_reactive_context(handler));
43+
element.addEventListener(event, handler);
6144
// @ts-expect-error
6245
const prev = element.__on_r;
6346
if (prev) {

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

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { effect, render_effect, teardown } from '../../../reactivity/effects.js';
2-
import { listen, without_reactive_context } from './shared.js';
2+
import { listen } from './shared.js';
33

44
/**
55
* @param {'x' | 'y'} type
@@ -10,14 +10,13 @@ import { listen, without_reactive_context } from './shared.js';
1010
export function bind_window_scroll(type, get, set = get) {
1111
var is_scrolling_x = type === 'x';
1212

13-
var target_handler = () =>
14-
without_reactive_context(() => {
15-
scrolling = true;
16-
clearTimeout(timeout);
17-
timeout = setTimeout(clear, 100); // TODO use scrollend event if supported (or when supported everywhere?)
13+
var target_handler = () => {
14+
scrolling = true;
15+
clearTimeout(timeout);
16+
timeout = setTimeout(clear, 100); // TODO use scrollend event if supported (or when supported everywhere?)
1817

19-
set(window[is_scrolling_x ? 'scrollX' : 'scrollY']);
20-
});
18+
set(window[is_scrolling_x ? 'scrollX' : 'scrollY']);
19+
};
2120

2221
addEventListener('scroll', target_handler, {
2322
passive: true
@@ -62,5 +61,5 @@ export function bind_window_scroll(type, get, set = get) {
6261
* @param {(size: number) => void} set
6362
*/
6463
export function bind_window_size(type, set) {
65-
listen(window, ['resize'], () => without_reactive_context(() => set(window[type])));
64+
listen(window, ['resize'], () => set(window[type]));
6665
}

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

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import {
1111
set_active_effect,
1212
set_active_reaction
1313
} from '../../runtime.js';
14-
import { without_reactive_context } from './bindings/shared.js';
1514

1615
/** @type {Set<string>} */
1716
export const all_registered_events = new Set();
@@ -62,9 +61,7 @@ export function create_event(event_name, dom, handler, options) {
6261
handle_event_propagation.call(dom, event);
6362
}
6463
if (!event.cancelBubble) {
65-
return without_reactive_context(() => {
66-
return handler.call(this, event);
67-
});
64+
return handler.call(this, event);
6865
}
6966
}
7067

0 commit comments

Comments
 (0)