Fix tags again, tweak feeds and stores

This commit is contained in:
Jon Staab
2024-05-09 16:00:09 -07:00
parent 9f70d8643e
commit fddee3c6ee
7 changed files with 66 additions and 46 deletions
+20 -12
View File
@@ -76,15 +76,13 @@ export class FeedCompiler<E extends Rumor> {
_compileCreatedAt(items: CreatedAtItem[]) {
const filters = items
.map(({since, until, relative}) => {
if (relative) {
if (typeof since === 'number') {
since = now() - since
}
.map(({since, until, relative = []}) => {
if (since && relative.includes("since")) {
since = now() - since
}
if (typeof until === 'number') {
until = now() - until
}
if (until && relative.includes("until")) {
until = now() - until
}
if (since && until) return {since, until}
@@ -224,7 +222,7 @@ export class FeedCompiler<E extends Rumor> {
}
async _compileLists(listItems: ListItem[]): Promise<RequestItem[]> {
const addresses = uniq(listItems.map(({address}) => address))
const addresses = uniq(listItems.flatMap(({addresses}) => addresses))
const eventsByAddress = new Map<string, E>()
await this.options.request({
@@ -234,10 +232,20 @@ export class FeedCompiler<E extends Rumor> {
const feeds = flatten(
await Promise.all(
listItems.map(({address, mappings}) => {
const event = eventsByAddress.get(address)
listItems.map(({addresses, mappings}) => {
const feeds: Feed[] = []
return event ? feedsFromTags(Tags.fromEvent(event), mappings) : []
for (const address of addresses) {
const event = eventsByAddress.get(address)
if (event) {
for (const feed of feedsFromTags(Tags.fromEvent(event), mappings)) {
feeds.push(feed)
}
}
}
return feeds
})
)
)
+3 -3
View File
@@ -44,8 +44,8 @@ export type DVMItem = {
}
export type ListItem = {
address: string,
mappings: TagFeedMapping[],
addresses: string,
mappings?: TagFeedMapping[],
}
export type WOTItem = {
@@ -56,7 +56,7 @@ export type WOTItem = {
export type CreatedAtItem = {
since?: number,
until?: number,
relative?: boolean,
relative?: string[],
}
export type AddressFeed = [type: FeedType.Address, ...addresses: string[]]