diff --git a/docs/lifecycle-events.md b/docs/lifecycle-events.md index bb3381b..7b470ab 100644 --- a/docs/lifecycle-events.md +++ b/docs/lifecycle-events.md @@ -36,8 +36,8 @@ Multiple events can be observed using an observer object: ```javascript fsm.observe({ - onStep: function() { console.log('stepped'); } - onA: function() { console.log('entered state A'); } + onStep: function() { console.log('stepped'); }, + onA: function() { console.log('entered state A'); }, onB: function() { console.log('entered state B'); } }); ``` @@ -51,8 +51,8 @@ A state machine always observes its own lifecycle events: { name: 'step', from: 'A', to: 'B' } ], methods: { - onStep: function() { console.log('stepped'); } - onA: function() { console.log('entered state A'); } + onStep: function() { console.log('stepped'); }, + onA: function() { console.log('entered state A'); }, onB: function() { console.log('entered state B'); } } }); diff --git a/lib/state-machine.js b/lib/state-machine.js index b8b9e37..17f9617 100644 --- a/lib/state-machine.js +++ b/lib/state-machine.js @@ -474,6 +474,9 @@ mixin(JSM.prototype, { observer[args[0]] = args[1]; this.observers.push(observer); } + else if (typeof args === "object") { + this.observers.push(args); + } else { this.observers.push(args[0]); }