Bring back repository store

This commit is contained in:
Jon Staab
2025-05-05 15:38:48 -07:00
parent 6589886df2
commit 9e8dc7b26d
4 changed files with 24 additions and 12 deletions
+19
View File
@@ -11,6 +11,25 @@ export const tracker = new Tracker()
// 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} = {}) =>
custom(
setter => {
+1 -8
View File
@@ -1,7 +1,6 @@
import {Scope, FeedController, FeedControllerOptions, Feed} from "@welshman/feeds"
import {pubkey, signer} from "./session.js"
import {wotGraph, maxWot, getFollows, getNetwork, getFollowers} from "./wot.js"
import {repository} from "./core.js"
export const getPubkeysForScope = (scope: string) => {
const $pubkey = pubkey.get()
@@ -41,10 +40,4 @@ export const getPubkeysForWOTRange = (min: number, max: number) => {
type MakeFeedControllerOptions = Partial<Omit<FeedControllerOptions, "feed">> & {feed: Feed}
export const makeFeedController = (options: MakeFeedControllerOptions) =>
new FeedController({
repository,
getPubkeysForScope,
getPubkeysForWOTRange,
signer: signer.get(),
...options,
})
new FeedController({getPubkeysForScope, getPubkeysForWOTRange, signer: signer.get(), ...options})