Files
MikrotikManager/lib/probe-source.ts
T

9 lines
552 B
TypeScript

import {z} from "zod"
const ipv4=z.string().refine(value=>/^\d{1,3}(\.\d{1,3}){3}$/.test(value)&&value.split(".").every(part=>Number(part)<=255&&String(Number(part))===part),"Ожидался IPv4")
const response=z.object({host:z.string().min(1),ipv4:ipv4.nullable()})
export function readProbeSource(raw:unknown,host:string){
const result=response.safeParse(raw)
if(!result.success||result.data.host!==host)throw new Error("Некорректный ответ API: источник preview не подтверждён.")
return result.data.ipv4
}