@@ -6,6 +6,19 @@ interface ResponseDecoder {
66 decodeFrom : ( receivedMessage : Message , sentMessageId : string ) => Result < unknown , Error >
77}
88
9+ class VoidResponseDecoder implements ResponseDecoder {
10+ decodeFrom ( receivedMessage : Message , sentMessageId : string ) : Result < void , Error > {
11+ if ( isError ( receivedMessage ) || sentMessageId !== receivedMessage . correlation_id ) {
12+ return { status : "error" , error : new Error ( `Message Error: ${ receivedMessage . subject } ` ) }
13+ }
14+
15+ return {
16+ status : "ok" ,
17+ body : undefined ,
18+ }
19+ }
20+ }
21+
922export class CreateQueueResponseDecoder implements ResponseDecoder {
1023 decodeFrom ( receivedMessage : Message , sentMessageId : string ) : Result < QueueInfo , Error > {
1124 if ( isError ( receivedMessage ) || sentMessageId !== receivedMessage . correlation_id ) {
@@ -46,28 +59,6 @@ export class DeleteQueueResponseDecoder implements ResponseDecoder {
4659 }
4760}
4861
49- export class CreateExchangeResponseDecoder implements ResponseDecoder {
50- decodeFrom ( receivedMessage : Message , sentMessageId : string ) : Result < void , Error > {
51- if ( isError ( receivedMessage ) || sentMessageId !== receivedMessage . correlation_id ) {
52- return { status : "error" , error : new Error ( `Message Error: ${ receivedMessage . subject } ` ) }
53- }
54-
55- return {
56- status : "ok" ,
57- body : undefined ,
58- }
59- }
60- }
61-
62- export class DeleteExchangeResponseDecoder implements ResponseDecoder {
63- decodeFrom ( receivedMessage : Message , sentMessageId : string ) : Result < void , Error > {
64- if ( isError ( receivedMessage ) || sentMessageId !== receivedMessage . correlation_id ) {
65- return { status : "error" , error : new Error ( `Message Error: ${ receivedMessage . subject } ` ) }
66- }
62+ export class CreateExchangeResponseDecoder extends VoidResponseDecoder { }
6763
68- return {
69- status : "ok" ,
70- body : undefined ,
71- }
72- }
73- }
64+ export class DeleteExchangeResponseDecoder extends VoidResponseDecoder { }
0 commit comments