File tree Expand file tree Collapse file tree 2 files changed +13
-14
lines changed
packages/svelte/src/internal/client Expand file tree Collapse file tree 2 files changed +13
-14
lines changed Original file line number Diff line number Diff line change @@ -77,7 +77,7 @@ function should_rethrow_error(effect) {
7777 * @param {Error } error
7878 * @param {Effect } effect
7979 */
80- function adjust_error ( error , effect ) {
80+ export function adjust_error ( error , effect ) {
8181 if ( adjusted_errors . has ( error ) ) return ;
8282 adjusted_errors . add ( error ) ;
8383
Original file line number Diff line number Diff line change @@ -40,7 +40,7 @@ import {
4040 set_component_context ,
4141 set_dev_current_component_function
4242} from './context.js' ;
43- import { handle_error , invoke_error_boundary } from './error-handling.js' ;
43+ import { adjust_error , handle_error , invoke_error_boundary } from './error-handling.js' ;
4444
4545let is_flushing = false ;
4646
@@ -345,18 +345,17 @@ export function update_reaction(reaction) {
345345
346346 return result ;
347347 } catch ( error ) {
348- // TODO think we can just use active_effect here?
349- var effect = get_effect ( reaction ) ;
350-
351- if ( effect ) {
352- if ( ( effect . f & EFFECT_RAN ) !== 0 ) {
353- invoke_error_boundary ( error , effect ) ;
354- } else if ( ( effect . f & BOUNDARY_EFFECT ) !== 0 ) {
355- // invoke directly
356- effect . fn ( error ) ;
357- } else {
358- throw error ;
359- }
348+ var effect = /** @type {Effect } */ ( active_effect ) ;
349+
350+ if ( DEV && error instanceof Error ) {
351+ adjust_error ( error , effect ) ;
352+ }
353+
354+ if ( ( effect . f & EFFECT_RAN ) !== 0 ) {
355+ invoke_error_boundary ( error , effect ) ;
356+ } else if ( ( effect . f & BOUNDARY_EFFECT ) !== 0 ) {
357+ // invoke directly
358+ effect . fn ( error ) ;
360359 } else {
361360 throw error ;
362361 }
You can’t perform that action at this time.
0 commit comments