UNPKG

@composable-svelte/code

Version:

Code editor, syntax highlighting, and node-based canvas components for Composable Svelte - Built with Prism.js, CodeMirror, and SvelteFlow

31 lines 1.56 kB
/** * Connection Validation Utilities * * Type-safe connection validation for node-based editors. * Validates connections based on port types, multiplicity, and custom rules. */ import type { NodeCanvasState, ConnectionValidation, NodeTypeDefinition } from './types.js'; /** * Default connection validator with type-safe port validation. * * Validates: * - Nodes exist * - No self-connections * - Port types are compatible * - Port multiplicity (single vs multiple connections) * - Custom node-level validation */ export declare function createConnectionValidator(nodeTypes: Record<string, NodeTypeDefinition>): (state: NodeCanvasState<any, any>, sourceNodeId: string, sourceHandle: string | null, targetNodeId: string, targetHandle: string | null) => ConnectionValidation; /** * Helper to create permissive validator (allows all connections). */ export declare function permissiveValidator(): ConnectionValidation; /** * Helper to create strict validator (blocks all connections). */ export declare function strictValidator(error?: string): ConnectionValidation; /** * Compose multiple validators (all must pass). */ export declare function composeValidators(...validators: ((state: NodeCanvasState<any, any>, sourceNodeId: string, sourceHandle: string | null, targetNodeId: string, targetHandle: string | null) => ConnectionValidation)[]): (state: NodeCanvasState<any, any>, sourceNodeId: string, sourceHandle: string | null, targetNodeId: string, targetHandle: string | null) => ConnectionValidation; //# sourceMappingURL=validation.d.ts.map