Files
headroom/frontend/node_modules/@ark/schema/out/constraint.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

68 lines
4.3 KiB
TypeScript

import { type array, type describe, type listable, type satisfy } from "@ark/util";
import type { NodeSchema, Prerequisite, innerAttachedAs, nodeOfKind } from "./kinds.ts";
import { BaseNode } from "./node.ts";
import type { NodeParseContext } from "./parse.ts";
import type { Intersection } from "./roots/intersection.ts";
import type { BaseRoot } from "./roots/root.ts";
import type { BaseScope } from "./scope.ts";
import type { NodeCompiler } from "./shared/compile.ts";
import type { BaseNodeDeclaration } from "./shared/declare.ts";
import { Disjoint } from "./shared/disjoint.ts";
import { type ConstraintKind, type IntersectionContext, type NodeKind, type RootKind, type StructuralKind, type UnknownAttachments, type kindLeftOf } from "./shared/implement.ts";
import type { JsonSchema } from "./shared/jsonSchema.ts";
import type { ToJsonSchema } from "./shared/toJsonSchema.ts";
import type { TraverseAllows, TraverseApply } from "./shared/traversal.ts";
import { arkKind } from "./shared/utils.ts";
import type { Structure } from "./structure/structure.ts";
export declare namespace Constraint {
interface Declaration extends BaseNodeDeclaration {
kind: ConstraintKind;
}
type ReductionResult = BaseRoot | Disjoint | Intersection.Inner.mutable;
interface Attachments {
impliedBasis: BaseRoot | null;
impliedSiblings?: array<BaseConstraint> | null;
}
type PrimitiveKind = Exclude<ConstraintKind, StructuralKind>;
}
export declare abstract class BaseConstraint<
/** @ts-ignore allow instantiation assignment to the base type */
out d extends Constraint.Declaration = Constraint.Declaration> extends BaseNode<d> {
readonly [arkKind]: "constraint";
constructor(attachments: UnknownAttachments, $: BaseScope);
abstract readonly impliedBasis: BaseRoot | null;
readonly impliedSiblings?: array<BaseConstraint>;
intersect<r extends BaseConstraint>(r: r): intersectConstraintKinds<d["kind"], r["kind"]>;
}
export declare abstract class InternalPrimitiveConstraint<d extends Constraint.Declaration> extends BaseConstraint<d> {
abstract traverseAllows: TraverseAllows<d["prerequisite"]>;
abstract readonly compiledCondition: string;
abstract readonly compiledNegation: string;
abstract reduceJsonSchema(base: JsonSchema.Constrainable, ctx: ToJsonSchema.Context): JsonSchema.Constrainable;
traverseApply: TraverseApply<d["prerequisite"]>;
compile(js: NodeCompiler): void;
get errorContext(): d["errorContext"];
get compiledErrorContext(): string;
}
export declare const constraintKeyParser: <kind extends ConstraintKind>(kind: kind) => (schema: listable<NodeSchema<kind>>, ctx: NodeParseContext) => innerAttachedAs<kind> | undefined;
type ConstraintGroupKind = satisfy<NodeKind, "intersection" | "structure">;
interface ConstraintIntersectionState<kind extends ConstraintGroupKind = ConstraintGroupKind> {
kind: kind;
baseInner: Record<string, unknown>;
l: BaseConstraint[];
r: BaseConstraint[];
roots: BaseRoot[];
ctx: IntersectionContext;
}
export declare const intersectConstraints: <kind extends ConstraintGroupKind>(s: ConstraintIntersectionState<kind>) => nodeOfKind<RootKind | Extract<kind, "structure">> | Disjoint;
export declare const flattenConstraints: (inner: object) => BaseConstraint[];
type FlatIntersectionInner = Intersection.Inner & Structure.Inner;
export declare const unflattenConstraints: (constraints: array<BaseConstraint>) => FlatIntersectionInner;
export type constraintKindLeftOf<kind extends ConstraintKind> = ConstraintKind & kindLeftOf<kind>;
export type constraintKindOrLeftOf<kind extends ConstraintKind> = kind | constraintKindLeftOf<kind>;
export type intersectConstraintKinds<l extends ConstraintKind, r extends ConstraintKind> = nodeOfKind<l | r | "unit" | "union"> | Disjoint | null;
export declare const throwInvalidOperandError: (...args: Parameters<typeof writeInvalidOperandMessage>) => never;
export declare const writeInvalidOperandMessage: <kind extends ConstraintKind, expected extends BaseRoot, actual extends BaseRoot>(kind: kind, expected: expected, actual: actual) => string;
export type writeInvalidOperandMessage<kind extends ConstraintKind, actual> = `${Capitalize<kind>} operand must be ${describe<Prerequisite<kind>>} (was ${describe<Exclude<actual, Prerequisite<kind>>>})`;
export {};