feat: seed default user sources

This commit is contained in:
2026-06-14 14:24:17 +01:00
parent efd7537008
commit 8532d6dbac
10 changed files with 220 additions and 8 deletions

View File

@@ -18,7 +18,7 @@ describe("LocationSource", () => {
describe("FeedSource interface", () => {
test("has correct id", () => {
const source = new LocationSource()
expect(source.id).toBe("freya.location")
expect(source.id).toBe(LocationSource.id)
})
test("fetchItems always returns empty array", async () => {

View File

@@ -5,8 +5,6 @@ import { type } from "arktype"
import { Location, type LocationSourceOptions } from "./types.ts"
export const LocationKey: ContextKey<Location> = contextKey("freya.location", "location")
/**
* A FeedSource that provides location context.
*
@@ -16,7 +14,9 @@ export const LocationKey: ContextKey<Location> = contextKey("freya.location", "l
* Does not produce feed items - always returns empty array from `fetchItems`.
*/
export class LocationSource implements FeedSource {
readonly id = "freya.location"
static readonly id = "freya.location"
readonly id = LocationSource.id
private readonly historySize: number
private locations: Location[] = []
@@ -97,3 +97,5 @@ export class LocationSource implements FeedSource {
return []
}
}
export const LocationKey: ContextKey<Location> = contextKey(LocationSource.id, "location")