File tree Expand file tree Collapse file tree 1 file changed +6
-5
lines changed
packages/react-devtools-shared/src Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Original file line number Diff line number Diff line change @@ -376,6 +376,7 @@ export type DataType =
376
376
| 'html_element'
377
377
| 'infinity'
378
378
| 'iterator'
379
+ | 'opaque_iterator'
379
380
| 'nan'
380
381
| 'null'
381
382
| 'number'
@@ -437,6 +438,8 @@ export function getDataType(data: Object): DataType {
437
438
return 'array_buffer' ;
438
439
} else if (typeof data[Symbol.iterator] === 'function') {
439
440
return 'iterator' ;
441
+ } else if (data[Symbol.iterator] === 'data') {
442
+ return 'opaque_iterator' ;
440
443
} else if (data.constructor && data . constructor . name === 'RegExp ') {
441
444
return 'regexp' ;
442
445
} else {
@@ -615,11 +618,6 @@ export function formatDataForPreview(
615
618
}
616
619
case 'iterator ':
617
620
const name = data . constructor . name ;
618
- // We check if the the generator returns itself.
619
- // If it does, we want to avoid to iterate over it
620
- if ( typeof data [ Symbol . iterator ] ( ) === 'object' ) {
621
- return `${name } ( $ { data . size } ) `;
622
- }
623
621
624
622
if ( showFormattedValue ) {
625
623
// TRICKY
@@ -659,6 +657,9 @@ export function formatDataForPreview(
659
657
} else {
660
658
return `${name } ( $ { data . size } ) `;
661
659
}
660
+ case 'opaque_iterator': {
661
+ return ` $ { data . constructor . name } ( ${data . size } ) `;
662
+ }
662
663
case 'date ':
663
664
return data . toString ( ) ;
664
665
case 'object ':
You can’t perform that action at this time.
0 commit comments