Bring back repository store
This commit is contained in:
@@ -11,6 +11,25 @@ export const tracker = new Tracker()
|
|||||||
|
|
||||||
// Adapt objects to stores
|
// Adapt objects to stores
|
||||||
|
|
||||||
|
export const makeRepositoryStore = ({throttle: t = 300}: {throttle?: number} = {}) =>
|
||||||
|
custom(
|
||||||
|
setter => {
|
||||||
|
let onUpdate = () => setter(repository)
|
||||||
|
|
||||||
|
if (t) {
|
||||||
|
onUpdate = throttle(t, onUpdate)
|
||||||
|
}
|
||||||
|
|
||||||
|
onUpdate()
|
||||||
|
repository.on("update", onUpdate)
|
||||||
|
|
||||||
|
return () => repository.off("update", onUpdate)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
set: (other: Repository) => repository.load(other.dump()),
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
export const makeTrackerStore = ({throttle: t = 300}: {throttle?: number} = {}) =>
|
export const makeTrackerStore = ({throttle: t = 300}: {throttle?: number} = {}) =>
|
||||||
custom(
|
custom(
|
||||||
setter => {
|
setter => {
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import {Scope, FeedController, FeedControllerOptions, Feed} from "@welshman/feeds"
|
import {Scope, FeedController, FeedControllerOptions, Feed} from "@welshman/feeds"
|
||||||
import {pubkey, signer} from "./session.js"
|
import {pubkey, signer} from "./session.js"
|
||||||
import {wotGraph, maxWot, getFollows, getNetwork, getFollowers} from "./wot.js"
|
import {wotGraph, maxWot, getFollows, getNetwork, getFollowers} from "./wot.js"
|
||||||
import {repository} from "./core.js"
|
|
||||||
|
|
||||||
export const getPubkeysForScope = (scope: string) => {
|
export const getPubkeysForScope = (scope: string) => {
|
||||||
const $pubkey = pubkey.get()
|
const $pubkey = pubkey.get()
|
||||||
@@ -41,10 +40,4 @@ export const getPubkeysForWOTRange = (min: number, max: number) => {
|
|||||||
type MakeFeedControllerOptions = Partial<Omit<FeedControllerOptions, "feed">> & {feed: Feed}
|
type MakeFeedControllerOptions = Partial<Omit<FeedControllerOptions, "feed">> & {feed: Feed}
|
||||||
|
|
||||||
export const makeFeedController = (options: MakeFeedControllerOptions) =>
|
export const makeFeedController = (options: MakeFeedControllerOptions) =>
|
||||||
new FeedController({
|
new FeedController({getPubkeysForScope, getPubkeysForWOTRange, signer: signer.get(), ...options})
|
||||||
repository,
|
|
||||||
getPubkeysForScope,
|
|
||||||
getPubkeysForWOTRange,
|
|
||||||
signer: signer.get(),
|
|
||||||
...options,
|
|
||||||
})
|
|
||||||
|
|||||||
@@ -122,7 +122,6 @@ export class Socket extends EventEmitter {
|
|||||||
close = () => {
|
close = () => {
|
||||||
this._ws?.close()
|
this._ws?.close()
|
||||||
this._ws = undefined
|
this._ws = undefined
|
||||||
this._sendQueue.clear()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanup = () => {
|
cleanup = () => {
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ export type Nip46BrokerParams = {
|
|||||||
signerPubkey?: string
|
signerPubkey?: string
|
||||||
algorithm?: Nip46Algorithm
|
algorithm?: Nip46Algorithm
|
||||||
context?: AdapterContext
|
context?: AdapterContext
|
||||||
|
debug?: (message: string, ...args: any[]) => void
|
||||||
}
|
}
|
||||||
|
|
||||||
export type Nip46Response = {
|
export type Nip46Response = {
|
||||||
@@ -189,7 +190,7 @@ export class Nip46Sender extends Emitter {
|
|||||||
try {
|
try {
|
||||||
await this.send(request)
|
await this.send(request)
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
console.error("nip46 error:", error, request)
|
this.params.debug?.("nip46 error:", error, request)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
@@ -307,7 +308,7 @@ export class Nip46Broker extends Emitter {
|
|||||||
const sender = new Nip46Sender(this.signer, this.params)
|
const sender = new Nip46Sender(this.signer, this.params)
|
||||||
|
|
||||||
sender.on(Nip46Event.Send, (data: any) => {
|
sender.on(Nip46Event.Send, (data: any) => {
|
||||||
console.log("nip46 send:", data)
|
this.params.debug?.("nip46 send:", data)
|
||||||
})
|
})
|
||||||
|
|
||||||
return sender
|
return sender
|
||||||
@@ -317,7 +318,7 @@ export class Nip46Broker extends Emitter {
|
|||||||
const receiver = new Nip46Receiver(this.signer, this.params)
|
const receiver = new Nip46Receiver(this.signer, this.params)
|
||||||
|
|
||||||
receiver.on(Nip46Event.Receive, (data: any) => {
|
receiver.on(Nip46Event.Receive, (data: any) => {
|
||||||
console.log("nip46 receive:", data)
|
this.params.debug?.("nip46 receive:", data)
|
||||||
})
|
})
|
||||||
|
|
||||||
return receiver
|
return receiver
|
||||||
|
|||||||
Reference in New Issue
Block a user