src/lib/incoming-response.deserializer.ts
ProducerDeserializer
Methods |
| deserialize | |||||||||
deserialize(value: any, options?: Record
|
|||||||||
|
Defined in src/lib/incoming-response.deserializer.ts:9
|
|||||||||
|
Parameters :
Returns :
IncomingResponse
|
| isExternal | ||||||
isExternal(value: any)
|
||||||
|
Defined in src/lib/incoming-response.deserializer.ts:20
|
||||||
|
Parameters :
Returns :
boolean
|
| mapToSchema | ||||||
mapToSchema(value: any)
|
||||||
|
Defined in src/lib/incoming-response.deserializer.ts:34
|
||||||
|
Parameters :
Returns :
IncomingResponse
|
import { isUndefined } from '@nestjs/common/utils/shared.utils';
import {
IncomingResponse,
ProducerDeserializer,
} from '@nestjs/microservices';
import { ErrorDeserializer } from './error.deserializer';
export class IncomingResponseDeserializer implements ProducerDeserializer {
deserialize(value: any, options?: Record<string, any>): IncomingResponse {
if (this.isExternal(value)) {
return this.mapToSchema(value);
} else {
if (!isUndefined((value as IncomingResponse).err)) {
value['err'] = new ErrorDeserializer().deserialize(value['err']);
}
return value;
}
}
isExternal(value: any): boolean {
if (!value) {
return true;
}
if (
!isUndefined((value as IncomingResponse).err) ||
!isUndefined((value as IncomingResponse).response) ||
!isUndefined((value as IncomingResponse).isDisposed)
) {
return false;
}
return true;
}
mapToSchema(value: any): IncomingResponse {
return {
id: value && value.id,
response: value,
isDisposed: true,
};
}
}