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 => {