20 lines
660 B
TypeScript
20 lines
660 B
TypeScript
import {verifyEvent, TrustedEvent} from "@welshman/util"
|
|
import {AbstractAdapter} from "./adapter.js"
|
|
import {Repository} from "./repository.js"
|
|
import {Pool} from "./pool.js"
|
|
|
|
export type NetContext = {
|
|
pool: Pool
|
|
repository: Repository
|
|
isEventValid: (event: TrustedEvent, url: string) => boolean
|
|
isEventDeleted: (event: TrustedEvent, url: string) => boolean
|
|
getAdapter?: (url: string, context: NetContext) => AbstractAdapter
|
|
}
|
|
|
|
export const netContext: NetContext = {
|
|
pool: Pool.get(),
|
|
repository: Repository.get(),
|
|
isEventValid: (event, url) => verifyEvent(event),
|
|
isEventDeleted: (event, url) => netContext.repository.isDeleted(event),
|
|
}
|