28 lines
1.1 KiB
TypeScript
28 lines
1.1 KiB
TypeScript
|
|
// defines different connection states
|
|
export enum ConnectionState {
|
|
connecting = 'connecting',
|
|
connected = 'connected',
|
|
disconnected = 'disconnected',
|
|
}
|
|
|
|
// defines message types
|
|
export enum MessageType {
|
|
assign_id = 'assign_id',
|
|
send_hl7v2 = 'send_hl7v2',
|
|
receive_hl7v2 = 'receive_hl7v2',
|
|
delivery_success = 'delivery_success',
|
|
delivery_error = 'delivery_error',
|
|
}
|
|
|
|
// defines body of message types
|
|
export type Message =
|
|
| { type: MessageType.assign_id, payload: { stationId: string }}
|
|
| { type: MessageType.send_hl7v2, payload: { message: string }}
|
|
| { type: MessageType.receive_hl7v2, payload: { message: string, timestamp: string }}
|
|
| { type: MessageType.delivery_success, payload: { message: string, timestamp: string }}
|
|
| { type: MessageType.delivery_error, payload: { error: string }}
|
|
|
|
// required to define list of this message type
|
|
export type ReceiveHl7v2Message = Extract<Message, { type: MessageType.receive_hl7v2 }>;
|
|
export type DeliverySuccessMessage = Extract<Message, { type: MessageType.delivery_success }>;
|