Remove router singleton
This commit is contained in:
@@ -10,6 +10,7 @@ import {
|
||||
} from "@welshman/util"
|
||||
import {ISigner} from "@welshman/signer"
|
||||
import {AdapterContext} from "@welshman/net"
|
||||
import type {Router} from "@welshman/router"
|
||||
import {
|
||||
CreatedAtItem,
|
||||
RequestItem,
|
||||
@@ -25,6 +26,7 @@ import {getFeedArgs, feedsFromTags} from "./utils.js"
|
||||
import {requestPage, requestDVM} from "./request.js"
|
||||
|
||||
export type FeedCompilerOptions = {
|
||||
router: Router
|
||||
signer?: ISigner
|
||||
signal?: AbortSignal
|
||||
context?: AdapterContext
|
||||
@@ -157,6 +159,7 @@ export class FeedCompiler {
|
||||
items.map(({mappings, ...request}) =>
|
||||
requestDVM({
|
||||
...request,
|
||||
router: this.options.router,
|
||||
signer: this.options.signer,
|
||||
context: this.options.context,
|
||||
onResult: async (e: TrustedEvent) => {
|
||||
@@ -267,6 +270,7 @@ export class FeedCompiler {
|
||||
const eventsByAddress = new Map<string, TrustedEvent>()
|
||||
|
||||
await requestPage({
|
||||
router: this.options.router,
|
||||
autoClose: true,
|
||||
signal: this.options.signal,
|
||||
context: this.options.context,
|
||||
@@ -304,6 +308,7 @@ export class FeedCompiler {
|
||||
labelItems.map(({mappings, relays, ...filter}) =>
|
||||
requestPage({
|
||||
relays,
|
||||
router: this.options.router,
|
||||
autoClose: true,
|
||||
signal: this.options.signal,
|
||||
context: this.options.context,
|
||||
|
||||
@@ -159,6 +159,7 @@ export class FeedController {
|
||||
await requestPage(
|
||||
omitVals([undefined], {
|
||||
relays,
|
||||
router: this.options.router,
|
||||
autoClose: true,
|
||||
filters: trimFilters(requestFilters),
|
||||
signal: this.options.signal,
|
||||
@@ -360,6 +361,7 @@ export class FeedController {
|
||||
requestPage(
|
||||
omitVals([undefined], {
|
||||
relays,
|
||||
router: this.options.router,
|
||||
signal,
|
||||
onEvent: (event: TrustedEvent) => onEvent?.(event),
|
||||
filters: trimFilters(requestFilters),
|
||||
|
||||
@@ -15,6 +15,7 @@ import {LOCAL_RELAY_URL, Tracker, AdapterContext, request, publish} from "@welsh
|
||||
|
||||
export type RequestPageOptions = {
|
||||
filters: Filter[]
|
||||
router: Router
|
||||
onEvent: (event: TrustedEvent) => void
|
||||
relays?: string[]
|
||||
tracker?: Tracker
|
||||
@@ -25,6 +26,7 @@ export type RequestPageOptions = {
|
||||
|
||||
export const requestPage = async ({
|
||||
filters,
|
||||
router,
|
||||
onEvent,
|
||||
relays = [],
|
||||
tracker = new Tracker(),
|
||||
@@ -49,14 +51,14 @@ export const requestPage = async ({
|
||||
threshold: 0.1,
|
||||
autoClose,
|
||||
filters: withSearch,
|
||||
relays: Router.get().Search().getUrls(),
|
||||
relays: router.Search().getUrls(),
|
||||
}),
|
||||
)
|
||||
}
|
||||
|
||||
if (withoutSearch.length > 0) {
|
||||
promises.push(
|
||||
...getFilterSelections(filters).flatMap(({relays, filters}) =>
|
||||
...getFilterSelections(filters, router).flatMap(({relays, filters}) =>
|
||||
request({
|
||||
tracker,
|
||||
signal,
|
||||
@@ -91,6 +93,7 @@ export const requestPage = async ({
|
||||
|
||||
export type RequestDVMOptions = {
|
||||
kind: number
|
||||
router: Router
|
||||
tags?: string[][]
|
||||
relays?: string[]
|
||||
signer?: ISigner
|
||||
@@ -100,6 +103,7 @@ export type RequestDVMOptions = {
|
||||
|
||||
export const requestDVM = async ({
|
||||
kind,
|
||||
router,
|
||||
onResult,
|
||||
tags = [],
|
||||
relays = [],
|
||||
@@ -110,10 +114,10 @@ export const requestDVM = async ({
|
||||
const events = await request({
|
||||
autoClose: true,
|
||||
filters: [{kinds: [RELAYS], authors: getPubkeyTagValues(tags)}],
|
||||
relays: Router.get().Index().policy(addMinimalFallbacks).getUrls(),
|
||||
relays: router.Index().policy(addMinimalFallbacks).getUrls(),
|
||||
})
|
||||
|
||||
relays = Router.get()
|
||||
relays = router
|
||||
.FromRelays(events.flatMap(e => getRelaysFromList(readList(asDecryptedEvent(e)))))
|
||||
.policy(addMinimalFallbacks)
|
||||
.getUrls()
|
||||
|
||||
Reference in New Issue
Block a user