- 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
48 lines
1014 B
JavaScript
48 lines
1014 B
JavaScript
/** @internal */
|
|
export function arrayUpdate(mutate, at, v, arr) {
|
|
let out = arr;
|
|
if (!mutate) {
|
|
const len = arr.length;
|
|
out = new Array(len);
|
|
for (let i = 0; i < len; ++i) out[i] = arr[i];
|
|
}
|
|
out[at] = v;
|
|
return out;
|
|
}
|
|
/** @internal */
|
|
export function arraySpliceOut(mutate, at, arr) {
|
|
const newLen = arr.length - 1;
|
|
let i = 0;
|
|
let g = 0;
|
|
let out = arr;
|
|
if (mutate) {
|
|
i = g = at;
|
|
} else {
|
|
out = new Array(newLen);
|
|
while (i < at) out[g++] = arr[i++];
|
|
}
|
|
++i;
|
|
while (i <= newLen) out[g++] = arr[i++];
|
|
if (mutate) {
|
|
out.length = newLen;
|
|
}
|
|
return out;
|
|
}
|
|
/** @internal */
|
|
export function arraySpliceIn(mutate, at, v, arr) {
|
|
const len = arr.length;
|
|
if (mutate) {
|
|
let i = len;
|
|
while (i >= at) arr[i--] = arr[i];
|
|
arr[at] = v;
|
|
return arr;
|
|
}
|
|
let i = 0,
|
|
g = 0;
|
|
const out = new Array(len + 1);
|
|
while (i < at) out[g++] = arr[i++];
|
|
out[at] = v;
|
|
while (i < len) out[++g] = arr[i++];
|
|
return out;
|
|
}
|
|
//# sourceMappingURL=array.js.map
|