Add helper for deriving events directly
This commit is contained in:
@@ -9,7 +9,7 @@ import {
|
|||||||
getter,
|
getter,
|
||||||
} from "@welshman/store"
|
} from "@welshman/store"
|
||||||
import {repository} from "./core.js"
|
import {repository} from "./core.js"
|
||||||
import {makeOutboxLoaderWithIndexers} from "./relayLists.js"
|
import {makeOutboxLoader} from "./relayLists.js"
|
||||||
|
|
||||||
export const profilesByPubkey = deriveItemsByKey({
|
export const profilesByPubkey = deriveItemsByKey({
|
||||||
repository,
|
repository,
|
||||||
@@ -26,9 +26,9 @@ export const getProfiles = getter(profiles)
|
|||||||
|
|
||||||
export const getProfile = (pubkey: string) => getProfilesByPubkey().get(pubkey)
|
export const getProfile = (pubkey: string) => getProfilesByPubkey().get(pubkey)
|
||||||
|
|
||||||
export const forceLoadProfile = makeForceLoadItem(makeOutboxLoaderWithIndexers(PROFILE), getProfile)
|
export const forceLoadProfile = makeForceLoadItem(makeOutboxLoader(PROFILE), getProfile)
|
||||||
|
|
||||||
export const loadProfile = makeLoadItem(makeOutboxLoaderWithIndexers(PROFILE), getProfile)
|
export const loadProfile = makeLoadItem(makeOutboxLoader(PROFILE), getProfile)
|
||||||
|
|
||||||
export const deriveProfile = makeDeriveItem(profilesByPubkey, loadProfile)
|
export const deriveProfile = makeDeriveItem(profilesByPubkey, loadProfile)
|
||||||
|
|
||||||
|
|||||||
@@ -68,6 +68,8 @@ export const deriveEventsAsc = (eventsByIdStore: Readable<EventsById>) =>
|
|||||||
export const deriveEventsDesc = (eventsByIdStore: Readable<EventsById>) =>
|
export const deriveEventsDesc = (eventsByIdStore: Readable<EventsById>) =>
|
||||||
deriveDeduplicated(eventsByIdStore, eventsById => sortEventsDesc(eventsById.values()))
|
deriveDeduplicated(eventsByIdStore, eventsById => sortEventsDesc(eventsById.values()))
|
||||||
|
|
||||||
|
export const deriveEvents = (options: EventsByIdOptions) => deriveArray(deriveEventsById(options))
|
||||||
|
|
||||||
export type EventOptions = {
|
export type EventOptions = {
|
||||||
repository: Repository
|
repository: Repository
|
||||||
includeDeleted?: boolean
|
includeDeleted?: boolean
|
||||||
|
|||||||
Reference in New Issue
Block a user