- 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
26 lines
868 B
JavaScript
26 lines
868 B
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.pathWalk = pathWalk;
|
|
function produce(producer) {
|
|
return producer();
|
|
}
|
|
function pathWalk(path, initialProducers, shrink) {
|
|
const producers = initialProducers;
|
|
const segments = path.split(':').map((text) => +text);
|
|
if (segments.length === 0) {
|
|
return producers.map(produce);
|
|
}
|
|
if (!segments.every((v) => !Number.isNaN(v))) {
|
|
throw new Error(`Unable to replay, got invalid path=${path}`);
|
|
}
|
|
let values = producers.drop(segments[0]).map(produce);
|
|
for (const s of segments.slice(1)) {
|
|
const valueToShrink = values.getNthOrLast(0);
|
|
if (valueToShrink === null) {
|
|
throw new Error(`Unable to replay, got wrong path=${path}`);
|
|
}
|
|
values = shrink(valueToShrink).drop(s);
|
|
}
|
|
return values;
|
|
}
|