- 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
18 lines
645 B
JavaScript
18 lines
645 B
JavaScript
export class InternalArktypeError extends Error {
|
|
}
|
|
export const throwInternalError = message => throwError(message, InternalArktypeError);
|
|
export const throwError = (message, ctor = Error) => {
|
|
throw new ctor(message);
|
|
};
|
|
export class ParseError extends Error {
|
|
name = "ParseError";
|
|
}
|
|
export const throwParseError = message => throwError(message, ParseError);
|
|
/**
|
|
* TypeScript won't suggest strings beginning with a space as properties.
|
|
* Useful for symbol-like string properties.
|
|
*/
|
|
export const noSuggest = (s) => ` ${s}`;
|
|
/** Unrendered character (U+200B) used to mark a string type */
|
|
export const ZeroWidthSpace = "\u{200B}";
|