Something went wrong. Try again.
Monorepo for Tangled forked from tangled.org/core
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051import type { ListEmailItem } from "#lib/api/emails.ts";import { installFetch } from "#storybook/installFetch.ts";
export const deliberiUrl = "https://deliberi.example.test";
export const primaryEmail = "alice@example.com";export const secondaryEmail = "alice@work.example.com";export const unverifiedEmail = "a.liddell@mail.example.com";
export const emails: ListEmailItem[] = [ { address: primaryEmail, verified: true, primary: true, createdAt: "2026-05-12T09:14:00Z" }, { address: secondaryEmail, verified: true, primary: false, createdAt: "2026-07-03T16:40:00Z" }, { address: unverifiedEmail, verified: false, primary: false, createdAt: "2026-09-16T11:02:00Z" }];
export type Answer = () => Promise<Response>;
export const ok = (body?: unknown): Answer => () => Promise.resolve( body === undefined ? new Response(null, { status: 200 }) : Response.json(body) );
export const pending: Answer = () => new Promise(() => {});
export const failed = (status: number, message = "deliberi is down"): Answer => () => Promise.resolve(Response.json({ error: "InternalError", message }, { status }));
export const offline: Answer = () => Promise.reject(new TypeError("Failed to fetch"));
export interface EmailAnswers { listEmails?: Answer; addEmail?: Answer; deleteEmail?: Answer; setPrimaryEmail?: Answer; verifyEmail?: Answer;}
export const installEmailFetch = ({ parameters }: { parameters: Record<string, unknown> }) => { const answers = (parameters.deliberi as EmailAnswers | undefined) ?? {}; return installFetch((url) => { for (const [name, answer] of Object.entries(answers)) { if (answer && url.pathname.includes(`org.tangled.temp.account.${name}`)) return answer(); } });};