- 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
66 lines
3.9 KiB
TypeScript
66 lines
3.9 KiB
TypeScript
import { Context, Struct, Validator } from '../struct.js';
|
|
import { Assign, ObjectSchema, ObjectType, PartialObjectSchema } from '../utils.js';
|
|
/**
|
|
* Create a new struct that combines the properties properties from multiple
|
|
* object or type structs. Its return type will match the first parameter's type.
|
|
*
|
|
* Like JavaScript's `Object.assign` utility.
|
|
*/
|
|
export declare function assign<A extends ObjectSchema, B extends ObjectSchema>(A: Struct<ObjectType<A>, A>, B: Struct<ObjectType<B>, B>): Struct<ObjectType<Assign<A, B>>, Assign<A, B>>;
|
|
export declare function assign<A extends ObjectSchema, B extends ObjectSchema, C extends ObjectSchema>(A: Struct<ObjectType<A>, A>, B: Struct<ObjectType<B>, B>, C: Struct<ObjectType<C>, C>): Struct<ObjectType<Assign<Assign<A, B>, C>>, Assign<Assign<A, B>, C>>;
|
|
export declare function assign<A extends ObjectSchema, B extends ObjectSchema, C extends ObjectSchema, D extends ObjectSchema>(A: Struct<ObjectType<A>, A>, B: Struct<ObjectType<B>, B>, C: Struct<ObjectType<C>, C>, D: Struct<ObjectType<D>, D>): Struct<ObjectType<Assign<Assign<Assign<A, B>, C>, D>>, Assign<Assign<Assign<A, B>, C>, D>>;
|
|
export declare function assign<A extends ObjectSchema, B extends ObjectSchema, C extends ObjectSchema, D extends ObjectSchema, E extends ObjectSchema>(A: Struct<ObjectType<A>, A>, B: Struct<ObjectType<B>, B>, C: Struct<ObjectType<C>, C>, D: Struct<ObjectType<D>, D>, E: Struct<ObjectType<E>, E>): Struct<ObjectType<Assign<Assign<Assign<Assign<A, B>, C>, D>, E>>, Assign<Assign<Assign<Assign<A, B>, C>, D>, E>>;
|
|
/**
|
|
* Define a new struct type with a custom validation function.
|
|
*/
|
|
export declare function define<T>(name: string, validator: Validator): Struct<T, null>;
|
|
/**
|
|
* Create a new struct based on an existing struct, but the value is allowed to
|
|
* be `undefined`. `log` will be called if the value is not `undefined`.
|
|
*/
|
|
export declare function deprecated<T>(struct: Struct<T>, log: (value: unknown, ctx: Context) => void): Struct<T>;
|
|
/**
|
|
* Create a struct with dynamic validation logic.
|
|
*
|
|
* The callback will receive the value currently being validated, and must
|
|
* return a struct object to validate it with. This can be useful to model
|
|
* validation logic that changes based on its input.
|
|
*/
|
|
export declare function dynamic<T>(fn: (value: unknown, ctx: Context) => Struct<T, any>): Struct<T, null>;
|
|
/**
|
|
* Create a struct with lazily evaluated validation logic.
|
|
*
|
|
* The first time validation is run with the struct, the callback will be called
|
|
* and must return a struct object to use. This is useful for cases where you
|
|
* want to have self-referential structs for nested data structures to avoid a
|
|
* circular definition problem.
|
|
*/
|
|
export declare function lazy<T>(fn: () => Struct<T, any>): Struct<T, null>;
|
|
/**
|
|
* Create a new struct based on an existing object struct, but excluding
|
|
* specific properties.
|
|
*
|
|
* Like TypeScript's `Omit` utility.
|
|
*/
|
|
export declare function omit<S extends ObjectSchema, K extends keyof S>(struct: Struct<ObjectType<S>, S>, keys: K[]): Struct<ObjectType<Omit<S, K>>, Omit<S, K>>;
|
|
/**
|
|
* Create a new struct based on an existing object struct, but with all of its
|
|
* properties allowed to be `undefined`.
|
|
*
|
|
* Like TypeScript's `Partial` utility.
|
|
*/
|
|
export declare function partial<S extends ObjectSchema>(struct: Struct<ObjectType<S>, S> | S): Struct<ObjectType<PartialObjectSchema<S>>, PartialObjectSchema<S>>;
|
|
/**
|
|
* Create a new struct based on an existing object struct, but only including
|
|
* specific properties.
|
|
*
|
|
* Like TypeScript's `Pick` utility.
|
|
*/
|
|
export declare function pick<S extends ObjectSchema, K extends keyof S>(struct: Struct<ObjectType<S>, S>, keys: K[]): Struct<ObjectType<Pick<S, K>>, Pick<S, K>>;
|
|
/**
|
|
* Define a new struct type with a custom validation function.
|
|
*
|
|
* @deprecated This function has been renamed to `define`.
|
|
*/
|
|
export declare function struct<T>(name: string, validator: Validator): Struct<T, null>;
|
|
//# sourceMappingURL=utilities.d.ts.map
|