import StartNode, { StartConnects, StartReduce } from "./nodes/StartNode"; import EndNode, { EndConnects, EndReduce } from "./nodes/EndNode"; import PhaseNode, { PhaseConnects, PhaseReduce } from "./nodes/PhaseNode"; import NormNode, { NormConnects, NormReduce } from "./nodes/NormNode"; import { EndNodeDefaults } from "./nodes/EndNode.default"; import { StartNodeDefaults } from "./nodes/StartNode.default"; import { PhaseNodeDefaults } from "./nodes/PhaseNode.default"; import { NormNodeDefaults } from "./nodes/NormNode.default"; import GoalNode, { GoalConnects, GoalReduce } from "./nodes/GoalNode"; import { GoalNodeDefaults } from "./nodes/GoalNode.default"; import TriggerNode, { TriggerConnects, TriggerReduce } from "./nodes/TriggerNode"; import { TriggerNodeDefaults } from "./nodes/TriggerNode.default"; /** * The types of the nodes we have registered. */ export const NodeTypes = { start: StartNode, end: EndNode, phase: PhaseNode, norm: NormNode, goal: GoalNode, trigger: TriggerNode, }; /** * The default functions of the nodes we have registered. * These are defined in the .default.ts files. */ export const NodeDefaults = { start: StartNodeDefaults, end: EndNodeDefaults, phase: PhaseNodeDefaults, norm: NormNodeDefaults, goal: GoalNodeDefaults, trigger: TriggerNodeDefaults, }; /** * The reduce functions of the nodes we have registered. */ export const NodeReduces = { start: StartReduce, end: EndReduce, phase: PhaseReduce, norm: NormReduce, goal: GoalReduce, trigger: TriggerReduce, } /** * The connection functionality of the nodes we have registered. */ export const NodeConnects = { start: StartConnects, end: EndConnects, phase: PhaseConnects, norm: NormConnects, goal: GoalConnects, trigger: TriggerConnects, } /** * Functions that define whether a node should be deleted, currently constant only for start and end. * Any node types that aren't mentioned are 'true', and can be deleted by default. */ export const NodeDeletes = { start: () => false, end: () => false, test: () => false, // Used for coverage of universal/ undefined nodes } /** * Defines which types are variables in the phase node- * any node that is NOT mentioned here, is automatically seen as a variable of a phase. */ export const NodesInPhase = { start: () => false, end: () => false, phase: () => false, test: () => false, // Used for coverage of universal/ undefined nodes }