Add some type utils, findFeed, and fix feed listener to use limit: 0 instead of since
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@welshman/feeds",
|
||||
"version": "0.4.5",
|
||||
"version": "0.4.6",
|
||||
"author": "hodlbod",
|
||||
"license": "MIT",
|
||||
"description": "Utilities for building dynamic nostr feeds.",
|
||||
|
||||
@@ -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], {
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user