diff --git a/packages/react-devtools-shared/src/utils.js b/packages/react-devtools-shared/src/utils.js index a0ec1038e75dc..8ec60e426bded 100644 --- a/packages/react-devtools-shared/src/utils.js +++ b/packages/react-devtools-shared/src/utils.js @@ -401,6 +401,7 @@ export type DataType = | 'html_element' | 'infinity' | 'iterator' + | 'opaque_iterator' | 'nan' | 'null' | 'number' @@ -460,6 +461,8 @@ export function getDataType(data: Object): DataType { // If it doesn't error, we know it's an ArrayBuffer, // but this seems kind of awkward and expensive. return 'array_buffer'; + } else if (data[Symbol.iterator] === 'data') { + return 'opaque_iterator'; } else if (typeof data[Symbol.iterator] === 'function') { return 'iterator'; } else if (data.constructor && data.constructor.name === 'RegExp') { @@ -678,6 +681,8 @@ export function formatDataForPreview( } else { return `${name}(${data.size})`; } + case 'opaque_iterator': + return `${data.constructor.name}(${data.length})`; case 'date': return data.toString(); case 'object':