symflow
Version:
SymFlow is a powerful workflow and state machine engine for Node.js, inspired by Symfony Workflow. It allows you to define workflows, transition entities between states, and optionally log audit trails.
19 lines • 827 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.StateMachine = void 0;
const symflow_1 = require("./symflow");
class StateMachine extends symflow_1.Symflow {
constructor(definition, emitter) {
if (Array.isArray(definition.initialState)) {
throw new Error('❌ StateMachine must have a string `initialState`, not an array.');
}
for (const [name, transition] of Object.entries(definition.transitions)) {
if (Array.isArray(transition.from) || Array.isArray(transition.to)) {
throw new Error(`❌ Transition "${name}" in a StateMachine must use single 'from' and 'to' strings.`);
}
}
super(definition, emitter);
}
}
exports.StateMachine = StateMachine;
//# sourceMappingURL=state-machine.js.map