Files
Aislo/B07_DesignDetail/openwebcad/src/tools/tool.consts.ts
T

76 lines
3.1 KiB
TypeScript

import type {StateMachine} from 'xstate'; /* eslint-disable @typescript-eslint/no-explicit-any */
import {Tool} from '../tools';
import {alignBottomToolStateMachine} from './align-bottom-tool.ts';
import {alignCenterHorizontalToolStateMachine} from './align-center-horizontal-tool.ts';
import {alignLeftToolStateMachine} from './align-left-tool.ts';
import {alignCenterVerticalToolStateMachine} from './align-middle-vertical-tool.ts';
import {alignRightToolStateMachine} from './align-right-tool.ts';
import {alignTopToolStateMachine} from './align-top-tool.ts';
import {arrayToolStateMachine} from './array-tool.ts';
import {circleToolStateMachine} from './circle-tool';
import {copyToolStateMachine} from './copy-tool.ts';
import {eraserToolStateMachine} from './eraser-tool';
import {imageImportToolStateMachine} from './image-import-tool';
import {lineToolStateMachine} from './line-tool';
import {measurementToolStateMachine} from './measurement-tool';
import {moveToolStateMachine} from './move-tool';
import {rectangleToolStateMachine} from './rectangle-tool';
import {rotateToolStateMachine} from './rotate-tool';
import {scaleToolStateMachine} from './scale-tool';
import {selectToolStateMachine} from './select-tool';
import {peditToolStateMachine} from "./pedit-tool.ts";
export const TOOL_STATE_MACHINES: Record<
Partial<Tool>,
StateMachine<
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
any,
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
any,
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
any,
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
any,
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
any,
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
any,
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
any,
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
any,
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
any,
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
any,
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
any,
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
any,
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
any,
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
any
>
> = {
[Tool.LINE]: lineToolStateMachine,
[Tool.RECTANGLE]: rectangleToolStateMachine,
[Tool.CIRCLE]: circleToolStateMachine,
[Tool.SELECT]: selectToolStateMachine,
[Tool.ERASER]: eraserToolStateMachine,
[Tool.MOVE]: moveToolStateMachine,
[Tool.COPY]: copyToolStateMachine,
[Tool.SCALE]: scaleToolStateMachine,
[Tool.ROTATE]: rotateToolStateMachine,
[Tool.IMAGE_IMPORT]: imageImportToolStateMachine,
[Tool.MEASUREMENT]: measurementToolStateMachine,
[Tool.ALIGN_LEFT]: alignLeftToolStateMachine,
[Tool.ALIGN_CENTER_HORIZONTAL]: alignCenterHorizontalToolStateMachine,
[Tool.ALIGN_RIGHT]: alignRightToolStateMachine,
[Tool.ALIGN_TOP]: alignTopToolStateMachine,
[Tool.ALIGN_CENTER_VERTICAL]: alignCenterVerticalToolStateMachine,
[Tool.ALIGN_BOTTOM]: alignBottomToolStateMachine,
[Tool.ARRAY]: arrayToolStateMachine,
[Tool.PEDIT]: peditToolStateMachine,
};