@@ -58,43 +58,43 @@ const debug = (methodName, ...args) => {
58
58
59
59
type ElementAndRendererID = { |
60
60
id : number ,
61
- rendererID : number ,
61
+ rendererID : RendererID ,
62
62
| } ;
63
63
64
64
type StoreAsGlobalParams = { |
65
65
count : number ,
66
66
id : number ,
67
67
path : Array < string | number > ,
68
- rendererID : number ,
68
+ rendererID : RendererID ,
69
69
| } ;
70
70
71
71
type CopyElementParams = { |
72
72
id : number ,
73
73
path : Array < string | number > ,
74
- rendererID : number ,
74
+ rendererID : RendererID ,
75
75
| } ;
76
76
77
77
type InspectElementParams = { |
78
78
forceFullData : boolean ,
79
79
id : number ,
80
80
path : Array < string | number > | null ,
81
- rendererID : number ,
81
+ rendererID : RendererID ,
82
82
requestID : number ,
83
83
| } ;
84
84
85
85
type OverrideHookParams = { |
86
86
id : number ,
87
87
hookID : number ,
88
88
path : Array < string | number > ,
89
- rendererID : number ,
89
+ rendererID : RendererID ,
90
90
wasForwarded ?: boolean ,
91
91
value : any ,
92
92
| } ;
93
93
94
94
type SetInParams = { |
95
95
id : number ,
96
96
path : Array < string | number > ,
97
- rendererID : number ,
97
+ rendererID : RendererID ,
98
98
wasForwarded ?: boolean ,
99
99
value : any ,
100
100
| } ;
@@ -106,7 +106,7 @@ type DeletePathParams = {|
106
106
hookID ?: ?number ,
107
107
id : number ,
108
108
path : Array < string | number > ,
109
- rendererID : number ,
109
+ rendererID : RendererID ,
110
110
| } ;
111
111
112
112
type RenamePathParams = { |
@@ -115,32 +115,32 @@ type RenamePathParams = {|
115
115
id : number ,
116
116
oldPath : Array < string | number > ,
117
117
newPath : Array < string | number > ,
118
- rendererID : number ,
118
+ rendererID : RendererID ,
119
119
| } ;
120
120
121
121
type OverrideValueAtPathParams = { |
122
122
type : PathType ,
123
123
hookID ?: ?number ,
124
124
id : number ,
125
125
path : Array < string | number > ,
126
- rendererID : number ,
126
+ rendererID : RendererID ,
127
127
value : any ,
128
128
| } ;
129
129
130
130
type OverrideErrorParams = { |
131
131
id : number ,
132
- rendererID : number ,
132
+ rendererID : RendererID ,
133
133
forceError : boolean ,
134
134
| } ;
135
135
136
136
type OverrideSuspenseParams = { |
137
137
id : number ,
138
- rendererID : number ,
138
+ rendererID : RendererID ,
139
139
forceFallback : boolean ,
140
140
| } ;
141
141
142
142
type PersistedSelection = { |
143
- rendererID : number ,
143
+ rendererID : RendererID ,
144
144
path : Array < PathFrame > ,
145
145
| } ;
146
146
@@ -153,7 +153,7 @@ export default class Agent extends EventEmitter<{|
153
153
_bridge : BackendBridge ;
154
154
_isProfiling : boolean = false ;
155
155
_recordChangeDescriptions : boolean = false ;
156
- _rendererInterfaces : { [ key : RendererID ] : RendererInterface , ... } = { } ;
156
+ _rendererInterfaces : Map < RendererID , RendererInterface > = new Map ( ) ;
157
157
_persistedSelection : PersistedSelection | null = null ;
158
158
_persistedSelectionMatch : PathMatch | null = null ;
159
159
_traceUpdatesEnabled : boolean = false ;
@@ -256,7 +256,7 @@ export default class Agent extends EventEmitter<{|
256
256
}
257
257
258
258
clearErrorsAndWarnings = ( { rendererID} : { | rendererID : RendererID | } ) => {
259
- const renderer = this . _rendererInterfaces [ rendererID ] ;
259
+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
260
260
if ( renderer == null ) {
261
261
console . warn ( `Invalid renderer id "${ rendererID } "` ) ;
262
262
} else {
@@ -265,7 +265,7 @@ export default class Agent extends EventEmitter<{|
265
265
} ;
266
266
267
267
clearErrorsForFiberID = ( { id, rendererID} : ElementAndRendererID ) => {
268
- const renderer = this . _rendererInterfaces [ rendererID ] ;
268
+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
269
269
if ( renderer == null ) {
270
270
console . warn ( `Invalid renderer id "${ rendererID } "` ) ;
271
271
} else {
@@ -274,7 +274,7 @@ export default class Agent extends EventEmitter<{|
274
274
} ;
275
275
276
276
clearWarningsForFiberID = ( { id, rendererID} : ElementAndRendererID ) => {
277
- const renderer = this . _rendererInterfaces [ rendererID ] ;
277
+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
278
278
if ( renderer == null ) {
279
279
console . warn ( `Invalid renderer id "${ rendererID } "` ) ;
280
280
} else {
@@ -283,7 +283,7 @@ export default class Agent extends EventEmitter<{|
283
283
} ;
284
284
285
285
copyElementPath = ( { id, path, rendererID} : CopyElementParams ) => {
286
- const renderer = this . _rendererInterfaces [ rendererID ] ;
286
+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
287
287
if ( renderer == null ) {
288
288
console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
289
289
} else {
@@ -292,7 +292,7 @@ export default class Agent extends EventEmitter<{|
292
292
} ;
293
293
294
294
deletePath = ( { hookID, id, path, rendererID, type} : DeletePathParams ) => {
295
- const renderer = this . _rendererInterfaces [ rendererID ] ;
295
+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
296
296
if ( renderer == null ) {
297
297
console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
298
298
} else {
@@ -304,7 +304,7 @@ export default class Agent extends EventEmitter<{|
304
304
id,
305
305
rendererID,
306
306
} : ElementAndRendererID ) : InstanceAndStyle | null {
307
- const renderer = this . _rendererInterfaces [ rendererID ] ;
307
+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
308
308
if ( renderer == null ) {
309
309
console . warn ( `Invalid renderer id "${ rendererID } "` ) ;
310
310
return null ;
@@ -339,20 +339,20 @@ export default class Agent extends EventEmitter<{|
339
339
} ;
340
340
341
341
getProfilingData = ( { rendererID} : { | rendererID : RendererID | } ) => {
342
- const renderer = this . _rendererInterfaces [ rendererID ] ;
342
+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
343
343
if ( renderer == null ) {
344
344
console . warn ( `Invalid renderer id "${ rendererID } "` ) ;
345
+ } else {
346
+ this . _bridge . send ( 'profilingData' , renderer . getProfilingData ( ) ) ;
345
347
}
346
-
347
- this . _bridge . send ( 'profilingData' , renderer . getProfilingData ( ) ) ;
348
348
} ;
349
349
350
350
getProfilingStatus = ( ) => {
351
351
this . _bridge . send ( 'profilingStatus' , this . _isProfiling ) ;
352
352
} ;
353
353
354
354
getOwnersList = ( { id, rendererID} : ElementAndRendererID ) => {
355
- const renderer = this . _rendererInterfaces [ rendererID ] ;
355
+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
356
356
if ( renderer == null ) {
357
357
console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
358
358
} else {
@@ -368,7 +368,7 @@ export default class Agent extends EventEmitter<{|
368
368
rendererID,
369
369
requestID,
370
370
} : InspectElementParams ) => {
371
- const renderer = this . _rendererInterfaces [ rendererID ] ;
371
+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
372
372
if ( renderer == null ) {
373
373
console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
374
374
} else {
@@ -398,7 +398,7 @@ export default class Agent extends EventEmitter<{|
398
398
} ;
399
399
400
400
logElementToConsole = ( { id, rendererID} : ElementAndRendererID ) => {
401
- const renderer = this . _rendererInterfaces [ rendererID ] ;
401
+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
402
402
if ( renderer == null ) {
403
403
console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
404
404
} else {
@@ -407,7 +407,7 @@ export default class Agent extends EventEmitter<{|
407
407
} ;
408
408
409
409
overrideError = ( { id, rendererID, forceError} : OverrideErrorParams ) => {
410
- const renderer = this . _rendererInterfaces [ rendererID ] ;
410
+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
411
411
if ( renderer == null ) {
412
412
console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
413
413
} else {
@@ -420,7 +420,7 @@ export default class Agent extends EventEmitter<{|
420
420
rendererID,
421
421
forceFallback,
422
422
} : OverrideSuspenseParams ) => {
423
- const renderer = this . _rendererInterfaces [ rendererID ] ;
423
+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
424
424
if ( renderer == null ) {
425
425
console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
426
426
} else {
@@ -436,7 +436,7 @@ export default class Agent extends EventEmitter<{|
436
436
type,
437
437
value,
438
438
} : OverrideValueAtPathParams ) => {
439
- const renderer = this . _rendererInterfaces [ rendererID ] ;
439
+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
440
440
if ( renderer == null ) {
441
441
console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
442
442
} else {
@@ -554,7 +554,7 @@ export default class Agent extends EventEmitter<{|
554
554
rendererID,
555
555
type,
556
556
} : RenamePathParams ) => {
557
- const renderer = this . _rendererInterfaces [ rendererID ] ;
557
+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
558
558
if ( renderer == null ) {
559
559
console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
560
560
} else {
@@ -573,7 +573,7 @@ export default class Agent extends EventEmitter<{|
573
573
rendererID : RendererID ,
574
574
rendererInterface : RendererInterface ,
575
575
) {
576
- this . _rendererInterfaces [ rendererID ] = rendererInterface ;
576
+ this . _rendererInterfaces . set ( rendererID , rendererInterface ) ;
577
577
578
578
if ( this . _isProfiling ) {
579
579
rendererInterface . startProfiling ( this . _recordChangeDescriptions ) ;
@@ -641,7 +641,7 @@ export default class Agent extends EventEmitter<{|
641
641
} ;
642
642
643
643
storeAsGlobal = ( { count, id, path, rendererID} : StoreAsGlobalParams ) => {
644
- const renderer = this . _rendererInterfaces [ rendererID ] ;
644
+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
645
645
if ( renderer == null ) {
646
646
console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
647
647
} else {
@@ -685,7 +685,7 @@ export default class Agent extends EventEmitter<{|
685
685
} ;
686
686
687
687
viewAttributeSource = ( { id, path, rendererID} : CopyElementParams ) => {
688
- const renderer = this . _rendererInterfaces [ rendererID ] ;
688
+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
689
689
if ( renderer == null ) {
690
690
console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
691
691
} else {
@@ -694,7 +694,7 @@ export default class Agent extends EventEmitter<{|
694
694
} ;
695
695
696
696
viewElementSource = ( { id, rendererID} : ElementAndRendererID ) => {
697
- const renderer = this . _rendererInterfaces [ rendererID ] ;
697
+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
698
698
if ( renderer == null ) {
699
699
console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
700
700
} else {
@@ -748,7 +748,7 @@ export default class Agent extends EventEmitter<{|
748
748
const rendererID = operations [ 0 ] ;
749
749
if ( this . _persistedSelection . rendererID === rendererID ) {
750
750
// Check if we can select a deeper match for the persisted selection.
751
- const renderer = this . _rendererInterfaces [ rendererID ] ;
751
+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
752
752
if ( renderer == null ) {
753
753
console . warn ( `Invalid renderer id "${ rendererID } "` ) ;
754
754
} else {
@@ -775,23 +775,26 @@ export default class Agent extends EventEmitter<{|
775
775
}
776
776
} ;
777
777
778
- onUnsupportedRenderer ( rendererID : number ) {
778
+ onUnsupportedRenderer ( rendererID : RendererID ) {
779
779
this . _bridge . send ( 'unsupportedRendererVersion' , rendererID ) ;
780
780
}
781
781
782
- _throttledPersistSelection = throttle ( ( rendererID : number , id : number ) => {
783
- // This is throttled, so both renderer and selected ID
784
- // might not be available by the time we read them.
785
- // This is why we need the defensive checks here.
786
- const renderer = this . _rendererInterfaces [ rendererID ] ;
787
- const path = renderer != null ? renderer . getPathForElement ( id ) : null ;
788
- if ( path !== null ) {
789
- sessionStorageSetItem (
790
- SESSION_STORAGE_LAST_SELECTION_KEY ,
791
- JSON . stringify ( ( { rendererID, path} : PersistedSelection ) ) ,
792
- ) ;
793
- } else {
794
- sessionStorageRemoveItem ( SESSION_STORAGE_LAST_SELECTION_KEY ) ;
795
- }
796
- } , 1000 ) ;
782
+ _throttledPersistSelection = throttle (
783
+ ( rendererID : RendererID , id : number ) => {
784
+ // This is throttled, so both renderer and selected ID
785
+ // might not be available by the time we read them.
786
+ // This is why we need the defensive checks here.
787
+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
788
+ const path = renderer != null ? renderer . getPathForElement ( id ) : null ;
789
+ if ( path !== null ) {
790
+ sessionStorageSetItem (
791
+ SESSION_STORAGE_LAST_SELECTION_KEY ,
792
+ JSON . stringify ( ( { rendererID, path} : PersistedSelection ) ) ,
793
+ ) ;
794
+ } else {
795
+ sessionStorageRemoveItem ( SESSION_STORAGE_LAST_SELECTION_KEY ) ;
796
+ }
797
+ } ,
798
+ 1000 ,
799
+ ) ;
797
800
}
0 commit comments