- Delete old Vite+Svelte frontend - Initialize new SvelteKit project with TypeScript - Configure Tailwind CSS v4 + DaisyUI - Implement JWT authentication with auto-refresh - Create login page with form validation (Zod) - Add protected route guards - Update Docker configuration for single-stage build - Add E2E tests with Playwright (6/11 passing) - Fix Svelte 5 reactivity with $state() runes Known issues: - 5 E2E tests failing (timing/async issues) - Token refresh implementation needs debugging - Validation error display timing
27 lines
1013 B
JavaScript
27 lines
1013 B
JavaScript
import { ZodFirstPartyTypeKind } from "zod/v3";
|
|
import { setResponseValueAndErrors } from "../errorMessages.js";
|
|
import { parseDef } from "../parseDef.js";
|
|
export function parseArrayDef(def, refs) {
|
|
const res = {
|
|
type: "array",
|
|
};
|
|
if (def.type?._def &&
|
|
def.type?._def?.typeName !== ZodFirstPartyTypeKind.ZodAny) {
|
|
res.items = parseDef(def.type._def, {
|
|
...refs,
|
|
currentPath: [...refs.currentPath, "items"],
|
|
});
|
|
}
|
|
if (def.minLength) {
|
|
setResponseValueAndErrors(res, "minItems", def.minLength.value, def.minLength.message, refs);
|
|
}
|
|
if (def.maxLength) {
|
|
setResponseValueAndErrors(res, "maxItems", def.maxLength.value, def.maxLength.message, refs);
|
|
}
|
|
if (def.exactLength) {
|
|
setResponseValueAndErrors(res, "minItems", def.exactLength.value, def.exactLength.message, refs);
|
|
setResponseValueAndErrors(res, "maxItems", def.exactLength.value, def.exactLength.message, refs);
|
|
}
|
|
return res;
|
|
}
|