testAppsReturnPages
tcmts.cli.pages.testAppsReturnPages · #n24m4664 · term
import { returnsAPage, returnTypeOf } from "#codebase/tcmts/cli/pages";
export const testAppsReturnPages = () => {
const ok = (sig: string, want: boolean) => {
const r = returnTypeOf(sig);
if ((r !== undefined && returnsAPage(r)) !== want) throw new Error(`${sig}: ${r}`);
};
ok("() => Promise<void>", true);
ok("() => Element", true);
ok("() => JSX.Element", true);
ok("(props?: { a: () => void }) => React.JSX.Element", true);
ok("<A>(x?: A) => void", true);
ok("(options?: { readonly database?: string }) => Layer<EventJournal, never, never>", false);
ok("() => Promise<number>", false);
ok("{ (): void; (x: number): void }", false);
ok("Layer<A, never, never>", false);
}
uses