18 lines
419 B
TypeScript
18 lines
419 B
TypeScript
import type { AcfLinkFragment } from "#graphql/operations";
|
|
import * as z from "zod";
|
|
|
|
const acfLinkSchema = z.object({
|
|
title: z.string(),
|
|
url: z.string(),
|
|
target: z.string().optional().default(""),
|
|
});
|
|
export type AcfLinkOutput = z.infer<typeof acfLinkSchema>;
|
|
|
|
export function parseAcfLink(data?: Partial<AcfLinkFragment>) {
|
|
try {
|
|
return acfLinkSchema.parse(data);
|
|
} catch {
|
|
return undefined;
|
|
}
|
|
}
|