@composable-svelte/code
Version:
Code editor, syntax highlighting, and node-based canvas components for Composable Svelte - Built with Prism.js, CodeMirror, and SvelteFlow
18 lines • 1.05 kB
TypeScript
/**
* Node Canvas Reducer
*
* Pure reducer function handling all canvas state transitions.
* Follows Composable Architecture pattern: (state, action, deps) => [newState, effect]
*/
import type { NodeCanvasState, NodeCanvasAction, NodeCanvasDependencies } from './types.js';
import type { EffectType } from '@composable-svelte/core';
/**
* Node canvas reducer - pure function handling all state transitions.
*
* @param state - Current canvas state
* @param action - Action to process
* @param deps - Injectable dependencies (validation, ID generation, etc.)
* @returns Tuple of [new state, effect to execute]
*/
export declare function nodeCanvasReducer<NodeData extends Record<string, unknown> = Record<string, unknown>, EdgeData extends Record<string, unknown> = Record<string, unknown>>(state: NodeCanvasState<NodeData, EdgeData>, action: NodeCanvasAction<NodeData, EdgeData>, deps?: NodeCanvasDependencies): [NodeCanvasState<NodeData, EdgeData>, EffectType<NodeCanvasAction<NodeData, EdgeData>>];
//# sourceMappingURL=reducer.d.ts.map