{"record":{"id":"e073b046dad666f0","repo":"ReactiveX/rxjs","slug":"string-key-must-be-callable","errorCode":null,"errorMessage":"${String(key)} must be callable","messagePattern":"(.+?) must be callable","errorType":"exception","errorClass":"TypeError","httpStatus":null,"severity":"error","filePath":"packages/observable-polyfill/src/index.ts","lineNumber":341,"sourceCode":"  }\n\n  const integer = Math.trunc(number);\n  const range = 2 ** 64;\n  if (integer > 0 && integer < range) {\n    return integer;\n  }\n\n  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');","sourceCodeStart":323,"sourceCodeEnd":359,"githubUrl":"https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/observable-polyfill/src/index.ts#L323-L359","documentation":"Error \"${String(key)} must be callable\" thrown in ReactiveX/rxjs.","triggerScenarios":"Thrown at packages/observable-polyfill/src/index.ts:341 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"}