@@ -27,7 +27,7 @@ public sealed partial class FluentCxObserverProvider
2727 /// </summary>
2828 /// <remarks>This field is used to track the rendering state of the object. It is intended for internal
2929 /// use and should not be accessed directly.</remarks>
30- private bool _isRendered ;
30+ private bool _hasModule ;
3131
3232 /// <summary>
3333 /// A thread-safe queue used to store pending observer items for processing.
@@ -108,7 +108,7 @@ public FluentCxObserverProvider()
108108 /// <returns>A <see cref="ValueTask"/> that represents the asynchronous operation.</returns>
109109 internal async ValueTask NotifyAsync ( GroupObserverItem group )
110110 {
111- if ( _isRendered )
111+ if ( _hasModule )
112112 {
113113 foreach ( var item in group . Items )
114114 {
@@ -144,7 +144,7 @@ internal async ValueTask NotifyAsync(GroupObserverItem group)
144144 /// <returns>A <see cref="ValueTask"/> that represents the asynchronous operation.</returns>
145145 internal async ValueTask NotifyAsync ( ObserverItem item )
146146 {
147- if ( _isRendered )
147+ if ( _hasModule )
148148 {
149149 if ( item . ObserveIntersection )
150150 {
@@ -172,7 +172,7 @@ internal async ValueTask NotifyAsync(ObserverItem item)
172172 /// <returns></returns>
173173 internal async ValueTask UnnotifyGroupAsync ( string groupId )
174174 {
175- if ( _isRendered )
175+ if ( _hasModule )
176176 {
177177 var items = ObserverState . GetItems ( groupId ) ;
178178
@@ -192,7 +192,7 @@ internal async ValueTask UnnotifyGroupAsync(string groupId)
192192 /// <returns>A <see cref="ValueTask"/> that represents the asynchronous operation.</returns>
193193 internal async ValueTask UnnotifyItemAsync ( string id )
194194 {
195- if ( _isRendered )
195+ if ( _hasModule )
196196 {
197197 await UnregisterIntersectAsync ( id , id ) ;
198198 await UnregisterResizeAsync ( id , id ) ;
@@ -202,9 +202,9 @@ internal async ValueTask UnnotifyItemAsync(string id)
202202 /// <inheritdoc />
203203 public async Task RegisterIntersectAsync ( string groupId , string elementId , ElementReference elementReference )
204204 {
205- if ( _jsModule is not null )
205+ if ( _hasModule )
206206 {
207- await _jsModule . InvokeVoidAsync ( "fluentCxObserverProvider.registerIntersect" , groupId , elementId , elementReference , _dotNetRef , new { debounce = ( int ) DebounceIntersect . TotalMilliseconds , threshold = Threshold } ) ;
207+ await _jsModule ! . InvokeVoidAsync ( "fluentCxObserverProvider.registerIntersect" , groupId , elementId , elementReference , _dotNetRef , new { debounce = ( int ) DebounceIntersect . TotalMilliseconds , threshold = Threshold } ) ;
208208 }
209209 }
210210
@@ -217,9 +217,9 @@ public Task RegisterIntersectAsync(string elementId, ElementReference elementRef
217217 /// <inheritdoc />
218218 public async Task RegisterResizeAsync ( string groupId , string elementId , ElementReference elementReference )
219219 {
220- if ( _jsModule is not null )
220+ if ( _hasModule )
221221 {
222- await _jsModule . InvokeVoidAsync ( "fluentCxObserverProvider.registerResize" , groupId , elementId , elementReference , _dotNetRef , new { debounce = ( int ) DebounceResize . TotalMilliseconds } ) ;
222+ await _jsModule ! . InvokeVoidAsync ( "fluentCxObserverProvider.registerResize" , groupId , elementId , elementReference , _dotNetRef , new { debounce = ( int ) DebounceResize . TotalMilliseconds } ) ;
223223 }
224224 }
225225
@@ -238,9 +238,9 @@ public Task UnregisterIntersectAsync(string elementId)
238238 /// <inheritdoc />
239239 public async Task UnregisterIntersectAsync ( string groupId , string elementId )
240240 {
241- if ( _jsModule is not null )
241+ if ( _hasModule )
242242 {
243- await _jsModule . InvokeVoidAsync ( "fluentCxObserverProvider.unregisterIntersect" , groupId , elementId ) ;
243+ await _jsModule ! . InvokeVoidAsync ( "fluentCxObserverProvider.unregisterIntersect" , groupId , elementId ) ;
244244 }
245245 }
246246
@@ -253,27 +253,27 @@ public Task UnregisterResizeAsync(string elementId)
253253 /// <inheritdoc />
254254 public async Task UnregisterResizeAsync ( string groupId , string elementId )
255255 {
256- if ( _jsModule is not null )
256+ if ( _hasModule )
257257 {
258- await _jsModule . InvokeVoidAsync ( "fluentCxObserverProvider.unregisterResize" , groupId , elementId ) ;
258+ await _jsModule ! . InvokeVoidAsync ( "fluentCxObserverProvider.unregisterResize" , groupId , elementId ) ;
259259 }
260260 }
261261
262262 /// <inheritdoc />
263263 public async Task RegisterMutationAsync ( string groupId , string elementId , ElementReference elementReference , MutationObserverOptions options )
264264 {
265- if ( _jsModule is not null )
265+ if ( _hasModule )
266266 {
267- await _jsModule . InvokeVoidAsync ( "fluentCxObserverProvider.registerMutation" , groupId , elementId , elementReference , options ) ;
267+ await _jsModule ! . InvokeVoidAsync ( "fluentCxObserverProvider.registerMutation" , groupId , elementId , elementReference , options ) ;
268268 }
269269 }
270270
271271 /// <inheritdoc />
272272 public async Task UnregisterMutationAsync ( string groupId , string elementId )
273273 {
274- if ( _jsModule is not null )
274+ if ( _hasModule )
275275 {
276- await _jsModule . InvokeVoidAsync ( "fluentCxObserverProvider.unregisterMutation" , groupId , elementId ) ;
276+ await _jsModule ! . InvokeVoidAsync ( "fluentCxObserverProvider.unregisterMutation" , groupId , elementId ) ;
277277 }
278278 }
279279
@@ -291,8 +291,8 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
291291
292292 if ( firstRender )
293293 {
294- _isRendered = firstRender ;
295294 _jsModule ??= await JSRuntime . InvokeAsync < IJSObjectReference > ( "import" , JsModulePath ) ;
295+ _hasModule = _jsModule is not null ;
296296
297297 while ( _pendingItems . TryDequeue ( out var item ) )
298298 {
0 commit comments