@@ -65,10 +65,6 @@ const minifiedPatterns = [
65
65
] ;
66
66
67
67
const isMinified = ( name : string ) : boolean => {
68
- if ( ! name || typeof name !== 'string' ) {
69
- return true ;
70
- }
71
-
72
68
for ( let i = 0 ; i < minifiedPatterns . length ; i ++ ) {
73
69
if ( minifiedPatterns [ i ] . test ( name ) ) return true ;
74
70
}
@@ -149,8 +145,7 @@ const getFirstNamedAncestorCompositeFiber = (element: Element) => {
149
145
while ( ! parentCompositeFiber && curr . parentElement ) {
150
146
curr = curr . parentElement ;
151
147
152
- const { parentCompositeFiber : fiber } =
153
- getCompositeComponentFromElement ( curr ) ;
148
+ const fiber = getCompositeComponentFromElement ( curr ) . parentCompositeFiber ;
154
149
155
150
if ( ! fiber ) {
156
151
continue ;
@@ -162,22 +157,18 @@ const getFirstNamedAncestorCompositeFiber = (element: Element) => {
162
157
return parentCompositeFiber ;
163
158
} ;
164
159
165
- let unsubscribeTrackVisibilityChange : ( ( ) => void ) | undefined ;
166
160
// fixme: compress me if this stays here for bad interaction time checks
167
161
let lastVisibilityHiddenAt : number | 'never-hidden' = 'never-hidden' ;
168
162
163
+ const onVisibilityChange = ( ) => {
164
+ if ( document . hidden ) {
165
+ lastVisibilityHiddenAt = Date . now ( ) ;
166
+ }
167
+ } ;
168
+
169
169
const trackVisibilityChange = ( ) => {
170
- unsubscribeTrackVisibilityChange ?.( ) ;
171
- const onVisibilityChange = ( ) => {
172
- if ( document . hidden ) {
173
- lastVisibilityHiddenAt = Date . now ( ) ;
174
- }
175
- } ;
170
+ document . removeEventListener ( 'visibilitychange' , onVisibilityChange ) ;
176
171
document . addEventListener ( 'visibilitychange' , onVisibilityChange ) ;
177
-
178
- unsubscribeTrackVisibilityChange = ( ) => {
179
- document . removeEventListener ( 'visibilitychange' , onVisibilityChange ) ;
180
- } ;
181
172
} ;
182
173
183
174
// todo: update monitoring api to expose filters for component names
@@ -226,13 +217,16 @@ export function initPerformanceMonitoring(options?: Partial<PathFilters>) {
226
217
} ;
227
218
}
228
219
220
+ const POINTER_EVENTS = new Set ( [ 'pointerdown' , 'pointerup' , 'click' ] ) ;
221
+ const KEYBOARD_EVENTS = new Set ( [ 'keydown' , 'keyup' ] ) ;
222
+
229
223
const getInteractionType = (
230
224
eventName : string ,
231
225
) : 'pointer' | 'keyboard' | null => {
232
- if ( [ 'pointerdown' , 'pointerup' , 'click' ] . includes ( eventName ) ) {
226
+ if ( POINTER_EVENTS . has ( eventName ) ) {
233
227
return 'pointer' ;
234
228
}
235
- if ( [ 'keydown' , 'keyup' ] . includes ( eventName ) ) {
229
+ if ( KEYBOARD_EVENTS . has ( eventName ) ) {
236
230
return 'keyboard' ;
237
231
}
238
232
return null ;
@@ -323,5 +317,5 @@ const setupPerformanceListener = (
323
317
/* Should collect error logs*/
324
318
}
325
319
326
- return ( ) => po . disconnect ( ) ;
320
+ return po . disconnect . bind ( po ) ;
327
321
} ;
0 commit comments