WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit a21bb4c

Browse files
committed
fix import order causing Cannot read properties of undefined on dev load
1 parent f00cdee commit a21bb4c

File tree

7 files changed

+34
-33
lines changed

7 files changed

+34
-33
lines changed

packages/svelte/src/internal/client/reactivity/batch.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ import {
2828
is_dirty,
2929
is_updating_effect,
3030
set_is_updating_effect,
31-
set_signal_status,
3231
update_effect
3332
} from '../runtime.js';
33+
import { set_signal_status } from './status.js';
3434
import * as e from '../errors.js';
3535
import { flush_tasks, queue_micro_task } from '../dom/task.js';
3636
import { DEV } from 'esm-env';

packages/svelte/src/internal/client/reactivity/deriveds.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,13 @@ import {
1717
import {
1818
active_reaction,
1919
active_effect,
20-
set_signal_status,
2120
update_reaction,
2221
increment_write_version,
2322
set_active_effect,
2423
push_reaction_value,
25-
is_destroying_effect,
26-
update_derived_status
24+
is_destroying_effect
2725
} from '../runtime.js';
26+
import { set_signal_status, update_derived_status } from './status.js';
2827
import { equals, safe_equals } from './equality.js';
2928
import * as e from '../errors.js';
3029
import * as w from '../warnings.js';

packages/svelte/src/internal/client/reactivity/effects.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/** @import { ComponentContext, ComponentContextLegacy, Derived, Effect, TemplateNode, TransitionManager } from '#client' */
2+
import { set_signal_status } from './status.js';
23
import {
34
is_dirty,
45
active_effect,
@@ -9,7 +10,6 @@ import {
910
remove_reactions,
1011
set_active_reaction,
1112
set_is_destroying_effect,
12-
set_signal_status,
1313
untrack,
1414
untracking
1515
} from '../runtime.js';

packages/svelte/src/internal/client/reactivity/sources.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import {
66
untracked_writes,
77
get,
88
set_untracked_writes,
9-
set_signal_status,
109
untrack,
1110
increment_write_version,
1211
update_effect,
@@ -16,9 +15,9 @@ import {
1615
is_destroying_effect,
1716
push_reaction_value,
1817
set_is_updating_effect,
19-
is_updating_effect,
20-
update_derived_status
18+
is_updating_effect
2119
} from '../runtime.js';
20+
import { set_signal_status, update_derived_status } from './status.js';
2221
import { equals, safe_equals } from './equality.js';
2322
import {
2423
CLEAN,
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/** @import { Derived, Signal } from '#client' */
2+
import { CLEAN, CONNECTED, DIRTY, MAYBE_DIRTY } from '#client/constants';
3+
4+
const STATUS_MASK = ~(DIRTY | MAYBE_DIRTY | CLEAN);
5+
6+
/**
7+
* @param {Signal} signal
8+
* @param {number} status
9+
*/
10+
export function set_signal_status(signal, status) {
11+
signal.f = (signal.f & STATUS_MASK) | status;
12+
}
13+
14+
/**
15+
* Set a derived's status to CLEAN or MAYBE_DIRTY based on its connection state.
16+
* @param {Derived} derived
17+
*/
18+
export function update_derived_status(derived) {
19+
// Only mark as MAYBE_DIRTY if disconnected and has dependencies.
20+
if ((derived.f & CONNECTED) !== 0 || derived.deps === null) {
21+
set_signal_status(derived, CLEAN);
22+
} else {
23+
set_signal_status(derived, MAYBE_DIRTY);
24+
}
25+
}

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

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ import { handle_error } from './error-handling.js';
5555
import { UNINITIALIZED } from '../../constants.js';
5656
import { captured_signals } from './legacy.js';
5757
import { without_reactive_context } from './dom/elements/bindings/shared.js';
58+
import { set_signal_status, update_derived_status } from './reactivity/status.js';
5859

5960
export let is_updating_effect = false;
6061

@@ -724,30 +725,6 @@ export function untrack(fn) {
724725
}
725726
}
726727

727-
const STATUS_MASK = ~(DIRTY | MAYBE_DIRTY | CLEAN);
728-
729-
/**
730-
* @param {Signal} signal
731-
* @param {number} status
732-
* @returns {void}
733-
*/
734-
export function set_signal_status(signal, status) {
735-
signal.f = (signal.f & STATUS_MASK) | status;
736-
}
737-
738-
/**
739-
* Set a derived's status to CLEAN or MAYBE_DIRTY based on its connection state.
740-
* @param {Derived} derived
741-
*/
742-
export function update_derived_status(derived) {
743-
// Only mark as MAYBE_DIRTY if disconnected and has dependencies.
744-
if ((derived.f & CONNECTED) !== 0 || derived.deps === null) {
745-
set_signal_status(derived, CLEAN);
746-
} else {
747-
set_signal_status(derived, MAYBE_DIRTY);
748-
}
749-
}
750-
751728
/**
752729
* @param {Record<string | symbol, unknown>} obj
753730
* @param {Array<string | symbol>} keys

packages/svelte/src/legacy/legacy-client.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ import { DIRTY, LEGACY_PROPS, MAYBE_DIRTY } from '../internal/client/constants.j
33
import { user_pre_effect } from '../internal/client/reactivity/effects.js';
44
import { mutable_source, set } from '../internal/client/reactivity/sources.js';
55
import { hydrate, mount, unmount } from '../internal/client/render.js';
6-
import { active_effect, get, set_signal_status } from '../internal/client/runtime.js';
6+
import { active_effect, get } from '../internal/client/runtime.js';
7+
import { set_signal_status } from '../internal/client/reactivity/status.js';
78
import { flushSync } from '../internal/client/reactivity/batch.js';
89
import { define_property, is_array } from '../internal/shared/utils.js';
910
import * as e from '../internal/client/errors.js';

0 commit comments

Comments
 (0)