@e280/authlocal
Version:
User-sovereign login system for everybody
20 lines (15 loc) • 502 B
text/typescript
import {sub} from "@e280/stz"
import {ev} from "@benev/slate"
import {Kv, StorageDriver} from "@e280/kv"
import {AuthOptions} from "../types.js"
export function defaults(options: Partial<AuthOptions> = {}): AuthOptions {
return {
kv: options.kv ?? new Kv(new StorageDriver()).scope("authlocal"),
src: options.src ?? "https://authlocal.org/",
onStorageChange: options.onStorageChange ?? (() => {
const subby = sub()
ev(window, {storage: () => subby.pub()})
return subby
})(),
}
}