diff --git a/packages/hal/src/validators/id003/id003-fsm.ts b/packages/hal/src/validators/id003/id003-fsm.ts index 1733bc1..34834a1 100644 --- a/packages/hal/src/validators/id003/id003-fsm.ts +++ b/packages/hal/src/validators/id003/id003-fsm.ts @@ -58,6 +58,7 @@ export class Id003Fsm extends EventEmitter { const from = this._state this.clearStateTimeout() console.log('FSM: %s [ %s -> %s ]', event ?? 'transition', from, to) + this.onLeaveState(from) this._state = to this.onEnterState(to, from, data) } @@ -75,13 +76,18 @@ export class Id003Fsm extends EventEmitter { }, TRANSIENT_TIMEOUT) } + private onLeaveState(state: string): void { + if (state === 'Connected') { + this.emit('ready') + } + } + private onEnterState(state: string, from: string, data?: unknown): void { switch (state) { case 'PowerUp': this.emit('powerUp') break case 'Connected': - // Will emit 'ready' on leave break case 'Denominations': this.emit('denominations')