@@ -8,22 +8,36 @@ part of 'base_scope_container.dart';
88/// This is the core entity that provides access to the [BaseScopeContainer] .
99abstract class CoreScopeHolder <Scope , Container extends BaseScopeContainer >
1010 extends ScopeStateHolder <Scope ?> with ScopeStateStreamable <Scope ?> {
11- final ScopeListenerInternal _scopeListenerInternal ;
12- final List <DepListener >? _depListeners ;
13- final List <AsyncDepListener >? _asyncDepListeners ;
11+ final ScopeObserverInternal _scopeObserverInternal ;
12+ final List <DepObserver >? _depObservers ;
13+ final List <AsyncDepObserver >? _asyncDepObservers ;
1414
1515 final _scopeStateHolder = ScopeStateHolder <ScopeState >(ScopeState .none);
1616 Completer ? _waitLifecycleCompleter;
1717
1818 ScopeState get _scopeState => _scopeStateHolder.scope;
1919
2020 CoreScopeHolder ({
21+ List <ScopeObserver >? scopeObservers,
22+ List <DepObserver >? depObservers,
23+ List <AsyncDepObserver >? asyncDepObservers,
24+ // ignore: deprecated_member_use_from_same_package
25+ @Deprecated ('Use scopeObservers instead' )
2126 List <ScopeListener >? scopeListeners,
22- List <DepListener >? depListeners,
27+ // ignore: deprecated_member_use_from_same_package
28+ @Deprecated ('Use depObservers instead' ) List <DepListener >? depListeners,
29+ // ignore: deprecated_member_use_from_same_package
30+ @Deprecated ('Use asyncDepObservers instead' )
2331 List <AsyncDepListener >? asyncDepListeners,
24- }) : _scopeListenerInternal = ScopeListenerInternal (scopeListeners),
25- _depListeners = depListeners,
26- _asyncDepListeners = asyncDepListeners,
32+ }) : assert (! (scopeListeners != null && scopeObservers != null ),
33+ 'Both scopeObservers and scopeListeners passed as arguments to ScopeHolder. Consider using only scopeObservers' ),
34+ assert (! (depListeners != null && depObservers != null ),
35+ 'Both depObservers and depListeners passed as arguments to ScopeHolder. Consider using only depObservers' ),
36+ assert (! (asyncDepListeners != null && asyncDepObservers != null ),
37+ 'Both asyncDepObservers and asyncDepListeners passed as arguments to ScopeHolder. Consider using only asyncDepObservers' ),
38+ _scopeObserverInternal = ScopeObserverInternal (scopeObservers),
39+ _depObservers = depObservers,
40+ _asyncDepObservers = asyncDepObservers,
2741 super (null );
2842
2943 /// Initialize scope. [Scope] becomes available and everyone can
@@ -116,9 +130,9 @@ abstract class CoreScopeHolder<Scope, Container extends BaseScopeContainer>
116130 break ;
117131 }
118132
119- _prepareListeners (scope);
133+ _prepareObservers (scope);
120134
121- _scopeListenerInternal .onScopeStartInitialize (scope);
135+ _scopeObserverInternal .onScopeStartInitialize (scope);
122136
123137 _initializing ();
124138
@@ -154,13 +168,13 @@ abstract class CoreScopeHolder<Scope, Container extends BaseScopeContainer>
154168 );
155169 }
156170 } on Object catch (e, s) {
157- _scopeListenerInternal .onScopeInitializeFailed (scope, e, s);
171+ _scopeObserverInternal .onScopeInitializeFailed (scope, e, s);
158172
159173 await _drop (initializedScope: scope, initializedDeps: initialized);
160174 rethrow ;
161175 }
162176 _available (scope as Scope );
163- _scopeListenerInternal .onScopeInitialized (scope);
177+ _scopeObserverInternal .onScopeInitialized (scope);
164178 }
165179
166180 /// Dispose scope. [Scope] becomes unavailable.
@@ -281,7 +295,7 @@ abstract class CoreScopeHolder<Scope, Container extends BaseScopeContainer>
281295 );
282296 }
283297
284- _scopeListenerInternal .onScopeStartDispose (scope);
298+ _scopeObserverInternal .onScopeStartDispose (scope);
285299
286300 _disposing ();
287301
@@ -310,7 +324,7 @@ abstract class CoreScopeHolder<Scope, Container extends BaseScopeContainer>
310324 e,
311325 s,
312326 );
313- _scopeListenerInternal .onScopeDisposeDepFailed (
327+ _scopeObserverInternal .onScopeDisposeDepFailed (
314328 scope,
315329 dep,
316330 e,
@@ -325,9 +339,9 @@ abstract class CoreScopeHolder<Scope, Container extends BaseScopeContainer>
325339 );
326340 }
327341 scope._unregister ();
328- _clearListeners (scope);
342+ _clearObservers (scope);
329343 await _disposed ();
330- _scopeListenerInternal .onScopeDisposed (scope);
344+ _scopeObserverInternal .onScopeDisposed (scope);
331345 }
332346
333347 // ignore: use_setters_to_change_properties
@@ -358,15 +372,15 @@ abstract class CoreScopeHolder<Scope, Container extends BaseScopeContainer>
358372
359373 void _disposing () => _updateScope (ScopeState .disposing);
360374
361- void _prepareListeners (Container scope) {
362- scope._depListener._listeners = _depListeners ;
363- scope._asyncDepListener._listeners = _asyncDepListeners ;
364- scope._asyncDepListener._asyncDepListeners = _asyncDepListeners ;
375+ void _prepareObservers (Container scope) {
376+ scope._depObserver._observers = _depObservers ;
377+ scope._asyncDepObserver._observers = _asyncDepObservers ;
378+ scope._asyncDepObserver._asyncDepObservers = _asyncDepObservers ;
365379 }
366380
367- void _clearListeners (Container scope) {
368- scope._depListener._listeners = null ;
369- scope._asyncDepListener._listeners = null ;
370- scope._asyncDepListener._asyncDepListeners = null ;
381+ void _clearObservers (Container scope) {
382+ scope._depObserver._observers = null ;
383+ scope._asyncDepObserver._observers = null ;
384+ scope._asyncDepObserver._asyncDepObservers = null ;
371385 }
372386}
0 commit comments