docs: document intentional TItems cast in post-processor merge

Co-authored-by: Ona <no-reply@ona.com>
This commit is contained in:
2026-02-28 15:51:18 +00:00
parent 416ee841f6
commit bf309fce20

View File

@@ -306,6 +306,10 @@ export class FeedEngine<TItems extends FeedItem = FeedItem> {
const enhancement = await processor(currentItems)
if (enhancement.additionalItems?.length) {
// Post-processors operate on FeedItem[] without knowledge of TItems.
// Additional items are merged untyped — this is intentional. The
// processor contract is "FeedItem in, FeedItem out"; type narrowing
// is the caller's responsibility when consuming FeedResult.
currentItems = [...currentItems, ...(enhancement.additionalItems as TItems[])]
}