@@ -241,26 +241,6 @@ export function spread_props(...props) {
241241 return new Proxy ( { props } , spread_props_handler ) ;
242242}
243243
244- /**
245- * @template T
246- * @param {() => T } fn
247- * @returns {T }
248- */
249- function with_parent_branch ( fn ) {
250- var effect = active_effect ;
251- var previous_effect = active_effect ;
252-
253- while ( effect !== null && ( effect . f & ( BRANCH_EFFECT | ROOT_EFFECT ) ) === 0 ) {
254- effect = effect . parent ;
255- }
256- try {
257- set_active_effect ( effect ) ;
258- return fn ( ) ;
259- } finally {
260- set_active_effect ( previous_effect ) ;
261- }
262- }
263-
264244/**
265245 * This function is responsible for synchronizing a possibly bound prop with the inner component state.
266246 * It is used whenever the compiler sees that the component writes to the prop, or when it has a default prop_value.
@@ -335,8 +315,8 @@ export function prop(props, key, flags, fallback) {
335315 } else {
336316 // Svelte 4 did not trigger updates when a primitive value was updated to the same value.
337317 // Replicate that behavior through using a derived
338- var derived_getter = with_parent_branch ( ( ) =>
339- ( immutable ? derived : derived_safe_equal ) ( ( ) => /** @type {V } */ ( props [ key ] ) )
318+ var derived_getter = ( immutable ? derived : derived_safe_equal ) (
319+ ( ) => /** @type {V } */ ( props [ key ] )
340320 ) ;
341321 derived_getter . f |= LEGACY_DERIVED_PROP ;
342322 getter = ( ) => {
@@ -380,21 +360,19 @@ export function prop(props, key, flags, fallback) {
380360 // The derived returns the current value. The underlying mutable
381361 // source is written to from various places to persist this value.
382362 var inner_current_value = mutable_source ( prop_value ) ;
383- var current_value = with_parent_branch ( ( ) =>
384- derived ( ( ) => {
385- var parent_value = getter ( ) ;
386- var child_value = get ( inner_current_value ) ;
387-
388- if ( from_child ) {
389- from_child = false ;
390- was_from_child = true ;
391- return child_value ;
392- }
363+ var current_value = derived ( ( ) => {
364+ var parent_value = getter ( ) ;
365+ var child_value = get ( inner_current_value ) ;
366+
367+ if ( from_child ) {
368+ from_child = false ;
369+ was_from_child = true ;
370+ return child_value ;
371+ }
393372
394- was_from_child = false ;
395- return ( inner_current_value . v = parent_value ) ;
396- } )
397- ) ;
373+ was_from_child = false ;
374+ return ( inner_current_value . v = parent_value ) ;
375+ } ) ;
398376
399377 if ( ! immutable ) current_value . equals = safe_equals ;
400378
0 commit comments