{"record":{"id":"83f336e693c9dd18","repo":"ReactiveX/rxjs","slug":"object-does-not-define-a-callable-symbol-iterator","errorCode":null,"errorMessage":"Object does not define a callable Symbol.iterator method","messagePattern":"Object does not define a callable Symbol\\.iterator method","errorType":"exception","errorClass":"TypeError","httpStatus":null,"severity":"error","filePath":"packages/observable-polyfill/src/index.ts","lineNumber":349,"sourceCode":"  const remainder = integer % range;\n  return remainder < 0 ? remainder + range : remainder;\n}\n\nfunction getMethod(value: object, key: PropertyKey): Callable | undefined {\n  const method = (value as Record<PropertyKey, unknown>)[key];\n  if (method == null) {\n    return undefined;\n  }\n  if (typeof method !== 'function') {\n    throw new TypeError(`${String(key)} must be callable`);\n  }\n  return method as Callable;\n}\n\nfunction getSyncIteratorRecord<T>(value: object): SyncIteratorRecord<T> {\n  const iteratorMethod = getMethod(value, Symbol.iterator);\n  if (!iteratorMethod) {\n    throw new TypeError('Object does not define a callable Symbol.iterator method');\n  }\n\n  const iterator = iteratorMethod.call(value);\n  if (!isObject(iterator)) {\n    throw new TypeError('Symbol.iterator must return an object');\n  }\n\n  const next = getMethod(iterator, 'next');\n  if (!next) {\n    throw new TypeError('Iterator must define a callable next() method');\n  }\n  return { iterator, next };\n}\n\nfunction getAsyncIteratorRecord(value: object): AsyncIteratorRecord {\n  const asyncIteratorMethod = getMethod(value, Symbol.asyncIterator);\n  if (asyncIteratorMethod) {\n    const iterator = asyncIteratorMethod.call(value);","sourceCodeStart":331,"sourceCodeEnd":367,"githubUrl":"https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/observable-polyfill/src/index.ts#L331-L367","documentation":"Error \"Object does not define a callable Symbol.iterator method\" thrown in ReactiveX/rxjs.","triggerScenarios":"Thrown at packages/observable-polyfill/src/index.ts:349 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"54796b38a57e6309f9861e174737479bb3f63f61","analyzedAt":"2026-08-28T10:21:27.410Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}