23 lines
592 B
TypeScript
23 lines
592 B
TypeScript
import type { ReplyPayload } from "./types.js";
|
|
|
|
export function resolveHeartbeatReplyPayload(
|
|
replyResult: ReplyPayload | ReplyPayload[] | undefined,
|
|
): ReplyPayload | undefined {
|
|
if (!replyResult) {
|
|
return undefined;
|
|
}
|
|
if (!Array.isArray(replyResult)) {
|
|
return replyResult;
|
|
}
|
|
for (let idx = replyResult.length - 1; idx >= 0; idx -= 1) {
|
|
const payload = replyResult[idx];
|
|
if (!payload) {
|
|
continue;
|
|
}
|
|
if (payload.text || payload.mediaUrl || (payload.mediaUrls && payload.mediaUrls.length > 0)) {
|
|
return payload;
|
|
}
|
|
}
|
|
return undefined;
|
|
}
|