84 lines
2.4 KiB
TypeScript
84 lines
2.4 KiB
TypeScript
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 <node>.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
|
|
} |