From d95b2236c043bbb03df55dc745b28248f833ee21 Mon Sep 17 00:00:00 2001 From: Renato Alcara Date: Fri, 23 Jan 2026 15:48:09 -0300 Subject: [PATCH] fix(album): resolve TypeScript strict array access errors Fix TS2345 errors where array element access (medias[i]) was inferred as `AlbumMediaItem | undefined` instead of `AlbumMediaItem`. Changes: - Add non-null assertion (!) after array access in for loops - Add explicit cast to AnyMessageContent for hasNonNullishProperty calls The non-null assertion is safe here because we iterate with `i < medias.length`, guaranteeing the index is valid. Co-Authored-By: Claude Opus 4.5 --- src/Socket/messages-send.ts | 2 +- src/Utils/messages.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Socket/messages-send.ts b/src/Socket/messages-send.ts index 46480aae..44e3a47d 100644 --- a/src/Socket/messages-send.ts +++ b/src/Socket/messages-send.ts @@ -1529,7 +1529,7 @@ export const makeMessagesSocket = (config: SocketConfig) => { // Send each media item sequentially for (let i = 0; i < medias.length; i++) { - const media = medias[i] + const media = medias[i]! const result = await sendMediaWithRetry(media, i) results.push(result) diff --git a/src/Utils/messages.ts b/src/Utils/messages.ts index 759552b8..ae2befe3 100644 --- a/src/Utils/messages.ts +++ b/src/Utils/messages.ts @@ -496,10 +496,10 @@ export const generateWAMessageContent = async ( let expectedVideoCount = 0 for (let i = 0; i < medias.length; i++) { - const media = medias[i] - if (hasNonNullishProperty(media, 'image')) { + const media = medias[i]! + if (hasNonNullishProperty(media as AnyMessageContent, 'image')) { expectedImageCount++ - } else if (hasNonNullishProperty(media, 'video')) { + } else if (hasNonNullishProperty(media as AnyMessageContent, 'video')) { expectedVideoCount++ } else { throw new Boom(`Album media at index ${i} must have 'image' or 'video' property`, { statusCode: 400 })