refactor(heartbeat): share reply payload picker

This commit is contained in:
Peter Steinberger
2026-02-15 04:37:52 +00:00
parent ffa27ddcbc
commit 511ba938fb
3 changed files with 24 additions and 43 deletions

View File

@@ -0,0 +1,22 @@
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;
}