( id: string, type: T, payload: ResponseMessageMap[T], )
| 158 | } |
| 159 | |
| 160 | export function serializeResponseMessage<T extends keyof ResponseMessageMap>( |
| 161 | id: string, |
| 162 | type: T, |
| 163 | payload: ResponseMessageMap[T], |
| 164 | ): BaseMessageFormat { |
| 165 | if (type === MessageType.EVENT_ITERATOR) { |
| 166 | const eventPayload = payload as EventIteratorPayload |
| 167 | const serializedPayload: SerializedEventIteratorPayload = { |
| 168 | e: eventPayload.event, |
| 169 | d: eventPayload.data, |
| 170 | m: eventPayload.meta, |
| 171 | } |
| 172 | return { i: id, t: type, p: serializedPayload } |
| 173 | } |
| 174 | |
| 175 | if (type === MessageType.ABORT_SIGNAL) { |
| 176 | return { i: id, t: type, p: undefined } |
| 177 | } |
| 178 | |
| 179 | const response = payload as StandardResponse |
| 180 | |
| 181 | const serializedPayload: SerializedResponsePayload = { |
| 182 | s: response.status === 200 ? undefined : response.status, |
| 183 | h: Object.keys(response.headers).length > 0 ? response.headers : undefined, |
| 184 | b: response.body, |
| 185 | } |
| 186 | |
| 187 | return { |
| 188 | i: id, |
| 189 | p: serializedPayload, |
| 190 | } |
| 191 | } |
| 192 | |
| 193 | export function deserializeResponseMessage(message: BaseMessageFormat): DecodedResponseMessage { |
| 194 | const id: string = message.i |
no outgoing calls
no test coverage detected