Skip to content

Commit f7052e8

Browse files
committed
modify the check once again
1 parent cf19623 commit f7052e8

File tree

1 file changed

+6
-5
lines changed
  • packages/react-devtools-shared/src

1 file changed

+6
-5
lines changed

packages/react-devtools-shared/src/utils.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,7 @@ export type DataType =
376376
| 'html_element'
377377
| 'infinity'
378378
| 'iterator'
379+
| 'opaque_iterator'
379380
| 'nan'
380381
| 'null'
381382
| 'number'
@@ -437,6 +438,8 @@ export function getDataType(data: Object): DataType {
437438
return 'array_buffer';
438439
} else if (typeof data[Symbol.iterator] === 'function') {
439440
return 'iterator';
441+
} else if (data[Symbol.iterator] === 'data') {
442+
return 'opaque_iterator';
440443
} else if (data.constructor && data.constructor.name === 'RegExp') {
441444
return 'regexp';
442445
} else {
@@ -615,11 +618,6 @@ export function formatDataForPreview(
615618
}
616619
case 'iterator':
617620
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-
}
623621

624622
if (showFormattedValue) {
625623
// TRICKY
@@ -659,6 +657,9 @@ export function formatDataForPreview(
659657
} else {
660658
return `${name}(${data.size})`;
661659
}
660+
case 'opaque_iterator': {
661+
return `${data.constructor.name}(${data.size})`;
662+
}
662663
case 'date':
663664
return data.toString();
664665
case 'object':

0 commit comments

Comments
 (0)