Add some type utils, findFeed, and fix feed listener to use limit: 0 instead of since

This commit is contained in:
Jon Staab
2025-09-09 16:12:16 -07:00
parent 9a476d2c30
commit 599e6a5085
19 changed files with 95 additions and 16 deletions
+1 -4
View File
@@ -350,12 +350,9 @@ export class FeedController {
}
return () => {
const since = now()
const controller = new AbortController()
const signal = AbortSignal.any(removeNil([controller.signal, this.options.signal]))
const requestFilters = filters!
.filter((filter: Filter) => !filter.until || filter.until <= since)
.map((filter: Filter) => ({...filter, since}))
const requestFilters = filters!.map((filter: Filter) => ({...filter, limit: 0}))
requestPage(
omitVals([undefined], {
+14
View File
@@ -214,6 +214,20 @@ export const walkFeed = (feed: Feed, visit: (feed: Feed) => void) => {
}
}
export const findFeed = (feed: Feed, match: (feed: Feed) => boolean): Feed | undefined => {
if (match(feed)) return feed
if (hasSubFeeds(feed)) {
for (const subFeed of getFeedArgs(feed)) {
const found = findFeed(subFeed, match)
if (found) {
return found
}
}
}
}
export const simplifyFeed = (feed: Feed): Feed => {
if (isUnionFeed(feed)) {
const args = getFeedArgs(feed)