- 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
24 lines
1.0 KiB
TypeScript
24 lines
1.0 KiB
TypeScript
import type { DynamicBase } from "@ark/util";
|
|
import type { Flags, IndexedCaptures, NamedCaptures } from "./regex.ts";
|
|
export interface RegexExecArray<patternAndCaptures extends IndexedCaptures, namedCaptures extends NamedCaptures, flags extends Flags> extends DynamicBase<patternAndCaptures> {
|
|
/**
|
|
* The index of the search at which the result was found.
|
|
*/
|
|
index: number;
|
|
/**
|
|
* A copy of the search string.
|
|
*/
|
|
input: patternAndCaptures[0];
|
|
indices: flags extends `${string}d${string}` ? RegexIndicesArray<patternAndCaptures, namedCaptures> : undefined;
|
|
groups: keyof namedCaptures extends never ? undefined : namedCaptures;
|
|
}
|
|
export type RegexIndexRange = [start: number, end: number];
|
|
interface RegexIndicesArray<patternAndCaptures extends IndexedCaptures, namedCaptures extends NamedCaptures> extends DynamicBase<{
|
|
[i in keyof patternAndCaptures]: RegexIndexRange;
|
|
}> {
|
|
groups: keyof namedCaptures extends never ? undefined : {
|
|
[k in keyof namedCaptures]: RegexIndexRange;
|
|
};
|
|
}
|
|
export {};
|