(args: {
schema: Schema;
value: unknown;
source: string;
recoveryHint: string;
rejectDeletedTrackerFields?: boolean;
})
| 641 | } |
| 642 | |
| 643 | function parseUnknownWithSchema<Schema extends z.ZodTypeAny>(args: { |
| 644 | schema: Schema; |
| 645 | value: unknown; |
| 646 | source: string; |
| 647 | recoveryHint: string; |
| 648 | rejectDeletedTrackerFields?: boolean; |
| 649 | }): z.output<Schema> { |
| 650 | if (args.rejectDeletedTrackerFields) { |
| 651 | rejectDeletedTrackerFields(args.value, args.source); |
| 652 | } |
| 653 | const parsed = args.schema.safeParse(args.value); |
| 654 | if (parsed.success) return parsed.data; |
| 655 | throw new PlanValidationError( |
| 656 | `${args.source} failed zod validation:\n${formatZodIssues(parsed.error.issues)}\n\n${args.recoveryHint}` |
| 657 | ); |
| 658 | } |
| 659 | |
| 660 | function rejectDeletedTrackerFields(value: unknown, source: string): void { |
| 661 | if (typeof value !== "object" || value === null || Array.isArray(value)) { |
no test coverage detected