Files
headroom/frontend/node_modules/@ark/schema/out/shared/errors.d.ts
Santhosh Janardhanan de2d83092e feat: Reinitialize frontend with SvelteKit and TypeScript
- 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
2026-02-17 16:19:59 -05:00

146 lines
6.0 KiB
TypeScript

import { CastableBase, ReadonlyArray, ReadonlyPath, type JsonArray, type JsonObject, type array, type merge, type propwiseXor, type show } from "@ark/util";
import type { Prerequisite, errorContext } from "../kinds.ts";
import type { NodeKind } from "./implement.ts";
import type { StandardSchemaV1 } from "./standardSchema.ts";
import type { Traversal } from "./traversal.ts";
import { arkKind } from "./utils.ts";
export type ArkErrorResult = ArkError | ArkErrors;
export declare class ArkError<code extends ArkErrorCode = ArkErrorCode> extends CastableBase<ArkErrorContextInput<code>> {
readonly [arkKind] = "error";
path: ReadonlyPath;
data: Prerequisite<code>;
private nodeConfig;
protected input: ArkErrorContextInput<code>;
protected ctx: Traversal;
constructor(input: ArkErrorContextInput<code>, ctx: Traversal);
transform(f: (input: ArkErrorContextInput<code>) => ArkErrorContextInput): ArkError;
hasCode<code extends ArkErrorCode>(code: code): this is ArkError<code>;
get propString(): string;
get expected(): string;
get actual(): string;
get problem(): string;
get message(): string;
get flat(): ArkError[];
toJSON(): JsonObject;
toString(): string;
throw(): never;
}
export declare namespace ArkErrors {
type Handler<returns = unknown> = (errors: ArkErrors) => returns;
}
/**
* A ReadonlyArray of `ArkError`s returned by a Type on invalid input.
*
* Subsequent errors added at an existing path are merged into an
* ArkError intersection.
*/
export declare class ArkErrors extends ReadonlyArray<ArkError> implements StandardSchemaV1.FailureResult {
readonly [arkKind] = "errors";
protected ctx: Traversal;
constructor(ctx: Traversal);
/**
* Errors by a pathString representing their location.
*/
byPath: Record<string, ArkError>;
/**
* {@link byPath} flattened so that each value is an array of ArkError instances at that path.
*
* ✅ Since "intersection" errors will be flattened to their constituent `.errors`,
* they will never be directly present in this representation.
*/
get flatByPath(): Record<string, ArkError[]>;
/**
* {@link byPath} flattened so that each value is an array of problem strings at that path.
*/
get flatProblemsByPath(): Record<string, string[]>;
/**
* All pathStrings at which errors are present mapped to the errors occuring
* at that path or any nested path within it.
*/
byAncestorPath: Record<string, ArkError[]>;
count: number;
private mutable;
/**
* Throw a TraversalError based on these errors.
*/
throw(): never;
/**
* Converts ArkErrors to TraversalError, a subclass of `Error` suitable for throwing with nice
* formatting.
*/
toTraversalError(): TraversalError;
/**
* Append an ArkError to this array, ignoring duplicates.
*/
add(error: ArkError): void;
transform(f: (e: ArkError) => ArkError): ArkErrors;
/**
* Add all errors from an ArkErrors instance, ignoring duplicates and
* prefixing their paths with that of the current Traversal.
*/
merge(errors: ArkErrors): void;
/**
* @internal
*/
affectsPath(path: ReadonlyPath): boolean;
/**
* A human-readable summary of all errors.
*/
get summary(): string;
/**
* Alias of this ArkErrors instance for StandardSchema compatibility.
*/
get issues(): this;
toJSON(): JsonArray;
toString(): string;
private addAncestorPaths;
}
export declare class TraversalError extends Error {
readonly name = "TraversalError";
arkErrors: ArkErrors;
constructor(errors: ArkErrors);
}
export interface DerivableErrorContext<code extends ArkErrorCode = ArkErrorCode> {
expected: string;
actual: string;
problem: string;
message: string;
data: Prerequisite<code>;
path: array<PropertyKey>;
propString: string;
}
export type DerivableErrorContextInput<code extends ArkErrorCode = ArkErrorCode> = Partial<DerivableErrorContext<code>> & propwiseXor<{
path?: array<PropertyKey>;
}, {
relativePath?: array<PropertyKey>;
prefixPath?: array<PropertyKey>;
}>;
export type ArkErrorCode = {
[kind in NodeKind]: errorContext<kind> extends null ? never : kind;
}[NodeKind];
type ArkErrorContextInputsByCode = {
[code in ArkErrorCode]: errorContext<code> & DerivableErrorContextInput<code>;
};
export type ArkErrorContextInput<code extends ArkErrorCode = ArkErrorCode> = merge<ArkErrorContextInputsByCode[code], {
meta?: ArkEnv.meta;
}>;
export type NodeErrorContextInput<code extends ArkErrorCode = ArkErrorCode> = ArkErrorContextInputsByCode[code] & {
meta: ArkEnv.meta;
};
export type MessageContext<code extends ArkErrorCode = ArkErrorCode> = Omit<ArkError<code>, "message">;
export type ProblemContext<code extends ArkErrorCode = ArkErrorCode> = Omit<MessageContext<code>, "problem">;
export type CustomErrorInput = show<{
code?: undefined;
} & DerivableErrorContextInput>;
export type ArkErrorInput = string | ArkErrorContextInput | CustomErrorInput;
export type ProblemConfig<code extends ArkErrorCode = ArkErrorCode> = string | ProblemWriter<code>;
export type ProblemWriter<code extends ArkErrorCode = ArkErrorCode> = (context: ProblemContext<code>) => string;
export type MessageConfig<code extends ArkErrorCode = ArkErrorCode> = string | MessageWriter<code>;
export type MessageWriter<code extends ArkErrorCode = ArkErrorCode> = (context: MessageContext<code>) => string;
export type getAssociatedDataForError<code extends ArkErrorCode> = code extends NodeKind ? Prerequisite<code> : unknown;
export type ExpectedConfig<code extends ArkErrorCode = ArkErrorCode> = string | ExpectedWriter<code>;
export type ExpectedWriter<code extends ArkErrorCode = ArkErrorCode> = (source: errorContext<code>) => string;
export type ActualConfig<code extends ArkErrorCode = ArkErrorCode> = string | ActualWriter<code>;
export type ActualWriter<code extends ArkErrorCode = ArkErrorCode> = (data: getAssociatedDataForError<code>) => string;
export {};