Openstatus www.openstatus.dev
at 57f471a7cf950bc467fcd98d6cd09e7c53593dae 29 lines 608 B view raw
1import type { z } from "zod"; 2 3import type { assertion } from "./v1"; 4 5export type HttpAssertionRequest = { 6 body: string; 7 header: Record<string, string>; 8 status: number; 9}; 10 11export type DnsAssertionRequest = { 12 records: Partial<Record<string, string[]>>; 13}; 14 15export type AssertionRequest = HttpAssertionRequest | DnsAssertionRequest; 16 17export type AssertionResult = 18 | { 19 success: true; 20 message?: never; 21 } 22 | { 23 success: false; 24 message: string; 25 }; 26export interface Assertion { 27 schema: z.infer<typeof assertion>; 28 assert: (req: AssertionRequest) => AssertionResult; 29}