@@ -58,43 +58,43 @@ const debug = (methodName, ...args) => {
5858
5959type ElementAndRendererID = { |
6060 id : number ,
61- rendererID : number ,
61+ rendererID : RendererID ,
6262| } ;
6363
6464type StoreAsGlobalParams = { |
6565 count : number ,
6666 id : number ,
6767 path : Array < string | number > ,
68- rendererID : number ,
68+ rendererID : RendererID ,
6969| } ;
7070
7171type CopyElementParams = { |
7272 id : number ,
7373 path : Array < string | number > ,
74- rendererID : number ,
74+ rendererID : RendererID ,
7575| } ;
7676
7777type InspectElementParams = { |
7878 forceFullData : boolean ,
7979 id : number ,
8080 path : Array < string | number > | null ,
81- rendererID : number ,
81+ rendererID : RendererID ,
8282 requestID : number ,
8383| } ;
8484
8585type OverrideHookParams = { |
8686 id : number ,
8787 hookID : number ,
8888 path : Array < string | number > ,
89- rendererID : number ,
89+ rendererID : RendererID ,
9090 wasForwarded ?: boolean ,
9191 value : any ,
9292| } ;
9393
9494type SetInParams = { |
9595 id : number ,
9696 path : Array < string | number > ,
97- rendererID : number ,
97+ rendererID : RendererID ,
9898 wasForwarded ?: boolean ,
9999 value : any ,
100100| } ;
@@ -106,7 +106,7 @@ type DeletePathParams = {|
106106 hookID ?: ?number ,
107107 id : number ,
108108 path : Array < string | number > ,
109- rendererID : number ,
109+ rendererID : RendererID ,
110110| } ;
111111
112112type RenamePathParams = { |
@@ -115,32 +115,32 @@ type RenamePathParams = {|
115115 id : number ,
116116 oldPath : Array < string | number > ,
117117 newPath : Array < string | number > ,
118- rendererID : number ,
118+ rendererID : RendererID ,
119119| } ;
120120
121121type OverrideValueAtPathParams = { |
122122 type : PathType ,
123123 hookID ?: ?number ,
124124 id : number ,
125125 path : Array < string | number > ,
126- rendererID : number ,
126+ rendererID : RendererID ,
127127 value : any ,
128128| } ;
129129
130130type OverrideErrorParams = { |
131131 id : number ,
132- rendererID : number ,
132+ rendererID : RendererID ,
133133 forceError : boolean ,
134134| } ;
135135
136136type OverrideSuspenseParams = { |
137137 id : number ,
138- rendererID : number ,
138+ rendererID : RendererID ,
139139 forceFallback : boolean ,
140140| } ;
141141
142142type PersistedSelection = { |
143- rendererID : number ,
143+ rendererID : RendererID ,
144144 path : Array < PathFrame > ,
145145| } ;
146146
@@ -153,7 +153,7 @@ export default class Agent extends EventEmitter<{|
153153 _bridge : BackendBridge ;
154154 _isProfiling : boolean = false ;
155155 _recordChangeDescriptions : boolean = false ;
156- _rendererInterfaces : { [ key : RendererID ] : RendererInterface , ... } = { } ;
156+ _rendererInterfaces : Map < RendererID , RendererInterface > = new Map ( ) ;
157157 _persistedSelection : PersistedSelection | null = null ;
158158 _persistedSelectionMatch : PathMatch | null = null ;
159159 _traceUpdatesEnabled : boolean = false ;
@@ -256,7 +256,7 @@ export default class Agent extends EventEmitter<{|
256256 }
257257
258258 clearErrorsAndWarnings = ( { rendererID} : { | rendererID : RendererID | } ) => {
259- const renderer = this . _rendererInterfaces [ rendererID ] ;
259+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
260260 if ( renderer == null ) {
261261 console . warn ( `Invalid renderer id "${ rendererID } "` ) ;
262262 } else {
@@ -265,7 +265,7 @@ export default class Agent extends EventEmitter<{|
265265 } ;
266266
267267 clearErrorsForFiberID = ( { id, rendererID} : ElementAndRendererID ) => {
268- const renderer = this . _rendererInterfaces [ rendererID ] ;
268+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
269269 if ( renderer == null ) {
270270 console . warn ( `Invalid renderer id "${ rendererID } "` ) ;
271271 } else {
@@ -274,7 +274,7 @@ export default class Agent extends EventEmitter<{|
274274 } ;
275275
276276 clearWarningsForFiberID = ( { id, rendererID} : ElementAndRendererID ) => {
277- const renderer = this . _rendererInterfaces [ rendererID ] ;
277+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
278278 if ( renderer == null ) {
279279 console . warn ( `Invalid renderer id "${ rendererID } "` ) ;
280280 } else {
@@ -283,7 +283,7 @@ export default class Agent extends EventEmitter<{|
283283 } ;
284284
285285 copyElementPath = ( { id, path, rendererID} : CopyElementParams ) => {
286- const renderer = this . _rendererInterfaces [ rendererID ] ;
286+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
287287 if ( renderer == null ) {
288288 console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
289289 } else {
@@ -292,7 +292,7 @@ export default class Agent extends EventEmitter<{|
292292 } ;
293293
294294 deletePath = ( { hookID, id, path, rendererID, type} : DeletePathParams ) => {
295- const renderer = this . _rendererInterfaces [ rendererID ] ;
295+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
296296 if ( renderer == null ) {
297297 console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
298298 } else {
@@ -304,7 +304,7 @@ export default class Agent extends EventEmitter<{|
304304 id,
305305 rendererID,
306306 } : ElementAndRendererID ) : InstanceAndStyle | null {
307- const renderer = this . _rendererInterfaces [ rendererID ] ;
307+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
308308 if ( renderer == null ) {
309309 console . warn ( `Invalid renderer id "${ rendererID } "` ) ;
310310 return null ;
@@ -339,20 +339,20 @@ export default class Agent extends EventEmitter<{|
339339 } ;
340340
341341 getProfilingData = ( { rendererID} : { | rendererID : RendererID | } ) => {
342- const renderer = this . _rendererInterfaces [ rendererID ] ;
342+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
343343 if ( renderer == null ) {
344344 console . warn ( `Invalid renderer id "${ rendererID } "` ) ;
345+ } else {
346+ this . _bridge . send ( 'profilingData' , renderer . getProfilingData ( ) ) ;
345347 }
346-
347- this . _bridge . send ( 'profilingData' , renderer . getProfilingData ( ) ) ;
348348 } ;
349349
350350 getProfilingStatus = ( ) => {
351351 this . _bridge . send ( 'profilingStatus' , this . _isProfiling ) ;
352352 } ;
353353
354354 getOwnersList = ( { id, rendererID} : ElementAndRendererID ) => {
355- const renderer = this . _rendererInterfaces [ rendererID ] ;
355+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
356356 if ( renderer == null ) {
357357 console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
358358 } else {
@@ -368,7 +368,7 @@ export default class Agent extends EventEmitter<{|
368368 rendererID,
369369 requestID,
370370 } : InspectElementParams ) => {
371- const renderer = this . _rendererInterfaces [ rendererID ] ;
371+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
372372 if ( renderer == null ) {
373373 console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
374374 } else {
@@ -398,7 +398,7 @@ export default class Agent extends EventEmitter<{|
398398 } ;
399399
400400 logElementToConsole = ( { id, rendererID} : ElementAndRendererID ) => {
401- const renderer = this . _rendererInterfaces [ rendererID ] ;
401+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
402402 if ( renderer == null ) {
403403 console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
404404 } else {
@@ -407,7 +407,7 @@ export default class Agent extends EventEmitter<{|
407407 } ;
408408
409409 overrideError = ( { id, rendererID, forceError} : OverrideErrorParams ) => {
410- const renderer = this . _rendererInterfaces [ rendererID ] ;
410+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
411411 if ( renderer == null ) {
412412 console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
413413 } else {
@@ -420,7 +420,7 @@ export default class Agent extends EventEmitter<{|
420420 rendererID,
421421 forceFallback,
422422 } : OverrideSuspenseParams ) => {
423- const renderer = this . _rendererInterfaces [ rendererID ] ;
423+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
424424 if ( renderer == null ) {
425425 console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
426426 } else {
@@ -436,7 +436,7 @@ export default class Agent extends EventEmitter<{|
436436 type,
437437 value,
438438 } : OverrideValueAtPathParams ) => {
439- const renderer = this . _rendererInterfaces [ rendererID ] ;
439+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
440440 if ( renderer == null ) {
441441 console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
442442 } else {
@@ -554,7 +554,7 @@ export default class Agent extends EventEmitter<{|
554554 rendererID,
555555 type,
556556 } : RenamePathParams ) => {
557- const renderer = this . _rendererInterfaces [ rendererID ] ;
557+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
558558 if ( renderer == null ) {
559559 console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
560560 } else {
@@ -573,7 +573,7 @@ export default class Agent extends EventEmitter<{|
573573 rendererID : RendererID ,
574574 rendererInterface : RendererInterface ,
575575 ) {
576- this . _rendererInterfaces [ rendererID ] = rendererInterface ;
576+ this . _rendererInterfaces . set ( rendererID , rendererInterface ) ;
577577
578578 if ( this . _isProfiling ) {
579579 rendererInterface . startProfiling ( this . _recordChangeDescriptions ) ;
@@ -641,7 +641,7 @@ export default class Agent extends EventEmitter<{|
641641 } ;
642642
643643 storeAsGlobal = ( { count, id, path, rendererID} : StoreAsGlobalParams ) => {
644- const renderer = this . _rendererInterfaces [ rendererID ] ;
644+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
645645 if ( renderer == null ) {
646646 console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
647647 } else {
@@ -685,7 +685,7 @@ export default class Agent extends EventEmitter<{|
685685 } ;
686686
687687 viewAttributeSource = ( { id, path, rendererID} : CopyElementParams ) => {
688- const renderer = this . _rendererInterfaces [ rendererID ] ;
688+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
689689 if ( renderer == null ) {
690690 console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
691691 } else {
@@ -694,7 +694,7 @@ export default class Agent extends EventEmitter<{|
694694 } ;
695695
696696 viewElementSource = ( { id, rendererID} : ElementAndRendererID ) => {
697- const renderer = this . _rendererInterfaces [ rendererID ] ;
697+ const renderer = this . _rendererInterfaces . get ( rendererID ) ;
698698 if ( renderer == null ) {
699699 console . warn ( `Invalid renderer id "${ rendererID } " for element "${ id } "` ) ;
700700 } else {
@@ -748,7 +748,7 @@ export default class Agent extends EventEmitter<{|
748748 const rendererID = operations [ 0 ] ;
749749 if ( this . _persistedSelection . rendererID === rendererID ) {
750750 // 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 ) ;
752752 if ( renderer == null ) {
753753 console . warn ( `Invalid renderer id "${ rendererID } "` ) ;
754754 } else {
@@ -775,23 +775,26 @@ export default class Agent extends EventEmitter<{|
775775 }
776776 } ;
777777
778- onUnsupportedRenderer ( rendererID : number ) {
778+ onUnsupportedRenderer ( rendererID : RendererID ) {
779779 this . _bridge . send ( 'unsupportedRendererVersion' , rendererID ) ;
780780 }
781781
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+ ) ;
797800}
0 commit comments