@@ -12,6 +12,10 @@ import {
1212 IsolationLevel
1313} from './rdkafka'
1414
15+ import {
16+ CODES
17+ } from './errors' ;
18+
1519// Admin API related interfaces, types etc; and Error types are common, so
1620// just re-export them from here too.
1721export {
@@ -24,7 +28,7 @@ export {
2428 Node ,
2529 AclOperationTypes ,
2630 Uuid ,
27- IsolationLevel
31+ IsolationLevel ,
2832} from './rdkafka'
2933
3034export interface OauthbearerProviderResponse {
@@ -427,3 +431,101 @@ export type Admin = {
427431 isolationLevel : IsolationLevel
428432 } ) : Promise < Array < SeekEntry & { high : string ; low : string } > >
429433}
434+
435+
436+ export function isKafkaJSError ( error : Error ) : boolean ;
437+
438+ export const ErrorCodes : typeof CODES . ERRORS ;
439+
440+ export class KafkaJSError extends Error {
441+ readonly message : Error [ 'message' ]
442+ readonly name : string
443+ readonly retriable : boolean
444+ readonly fatal : boolean
445+ readonly abortable : boolean
446+ readonly code : number
447+ constructor ( e : Error | string , metadata ?: KafkaJSErrorMetadata )
448+ }
449+
450+ export class KafkaJSProtocolError extends KafkaJSError {
451+ constructor ( e : Error | string )
452+ }
453+
454+ export class KafkaJSCreateTopicError extends KafkaJSError {
455+ readonly topic : string
456+ constructor ( e : Error | string , topicName : string , metadata ?: KafkaJSErrorMetadata )
457+ }
458+
459+ export class KafkaJSDeleteGroupsError extends KafkaJSError {
460+ readonly groups : DeleteGroupsResult [ ]
461+ constructor ( e : Error | string , groups ?: KafkaJSDeleteGroupsErrorGroups [ ] )
462+ }
463+
464+ export class KafkaJSDeleteTopicRecordsError extends KafkaJSError {
465+ readonly partitions : KafkaJSDeleteTopicRecordsErrorPartition [ ]
466+ constructor ( metadata : KafkaJSDeleteTopicRecordsErrorTopic )
467+ }
468+
469+ export interface KafkaJSDeleteGroupsErrorGroups {
470+ groupId : string
471+ errorCode : number
472+ error : KafkaJSError
473+ }
474+
475+ export interface KafkaJSDeleteTopicRecordsErrorTopic {
476+ topic : string
477+ partitions : KafkaJSDeleteTopicRecordsErrorPartition [ ]
478+ }
479+
480+ export interface KafkaJSDeleteTopicRecordsErrorPartition {
481+ partition : number
482+ offset : string
483+ error : KafkaJSError
484+ }
485+
486+ export class KafkaJSAggregateError extends Error {
487+ readonly errors : ( Error | string ) [ ]
488+ constructor ( message : Error | string , errors : ( Error | string ) [ ] )
489+ }
490+
491+ export class KafkaJSOffsetOutOfRange extends KafkaJSProtocolError {
492+ readonly topic : string
493+ readonly partition : number
494+ constructor ( e : Error | string , metadata ?: KafkaJSErrorMetadata )
495+ }
496+
497+ export class KafkaJSConnectionError extends KafkaJSError {
498+ constructor ( e : Error | string , metadata ?: KafkaJSErrorMetadata )
499+ }
500+
501+ export class KafkaJSRequestTimeoutError extends KafkaJSError {
502+ constructor ( e : Error | string , metadata ?: KafkaJSErrorMetadata )
503+ }
504+
505+ export class KafkaJSPartialMessageError extends KafkaJSError {
506+ constructor ( )
507+ }
508+
509+ export class KafkaJSSASLAuthenticationError extends KafkaJSError {
510+ constructor ( )
511+ }
512+
513+ export class KafkaJSGroupCoordinatorNotFound extends KafkaJSError {
514+ constructor ( )
515+ }
516+
517+ export class KafkaJSNotImplemented extends KafkaJSError {
518+ constructor ( )
519+ }
520+
521+ export class KafkaJSTimeout extends KafkaJSError {
522+ constructor ( )
523+ }
524+
525+ export interface KafkaJSErrorMetadata {
526+ retriable ?: boolean
527+ fatal ?: boolean
528+ abortable ?: boolean
529+ stack ?: string
530+ code ?: number
531+ }
0 commit comments