Skip to content

Commit 83ec721

Browse files
author
hyperandroid
committed
Documentation.
1 parent 68c5c78 commit 83ec721

File tree

6 files changed

+316
-159
lines changed

6 files changed

+316
-159
lines changed

automata.d.ts

Lines changed: 47 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,39 @@
11
declare module FSM {
22

3+
export interface FSMDefinitionStateTimer {
4+
timeout : number;
5+
event : FSM.TransitionMessage;
6+
}
7+
8+
export interface FSMDefinitionState {
9+
name : string;
10+
initial : boolean;
11+
onTimer : FSMDefinitionStateTimer;
12+
onEnter : string|FSM.StateCallback;
13+
onExit : string|StateCallback;
14+
}
15+
16+
export interface FSMDefinitionSubState {
17+
name : string;
18+
}
19+
20+
export interface FSMDefinitionTransition {
21+
event :string;
22+
from : string;
23+
to : string;
24+
onTransition : string|TransitionCallback;
25+
onPreGuard : string|TransitionCallback;
26+
onPostGuard : string|TransitionCallback;
27+
}
28+
29+
export interface FSMDefinition {
30+
name : string;
31+
state : FSMDefinitionState[] | FSMDefinitionSubState[];
32+
transition : FSMDefinitionTransition[];
33+
onEnter : string | StateCallback;
34+
onExit : string | StateCallback;
35+
}
36+
337
export interface TransitionMessage {
438
msgId : string;
539
data? : any;
@@ -9,6 +43,14 @@ declare module FSM {
943
(session:Session):void
1044
}
1145

46+
export interface TransitionCallback {
47+
(state:State, transition:Transition, message:TransitionMessage):void;
48+
}
49+
50+
export interface StateCallback {
51+
(state:State, transition:Transition, message:TransitionMessage):void;
52+
}
53+
1254
class Session {
1355

1456
consume( message : TransitionMessage, consumeCallback? : FSM.ConsumeCallback );
@@ -53,10 +95,10 @@ declare module FSM {
5395

5496
declare module Automata {
5597

56-
export function registerFSM( object:any );
57-
export function registerFDA( object:any );
58-
export function createSession( fda_name : string, controller:any ) : FSM.Session;
59-
export function newGuardException( message : string ) : FSM.GuardException;
60-
export function newSessionListener( obj : any ) : FSM.SessionListener;
98+
export function registerFSM( object:FSM.FSMDefinition );
99+
export function registerFDA( object:FSM.FSMDefinition );
100+
export function createSession( fda_name : string, controller : any ) : FSM.Session;
101+
export function newGuardException( message : string ) : FSM.GuardException;
102+
export function newSessionListener( obj : any ) : FSM.SessionListener;
61103

62104
}

automata.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@
2525
* @callback TransitionCallback
2626
* @param state {FSM.State}
2727
* @param transition {FSM.Transition}
28-
* @param message {object}
28+
* @param message {FSM.TransitionMessage}
2929
*/
3030

3131
/**
3232
* @callback StateCallback
3333
* @param state {FSM.State}
3434
* @param transition {FSM.Transition}
35-
* @param message {object}
35+
* @param message {FSM.TransitionMessage}
3636
*/
3737

3838

@@ -60,7 +60,7 @@
6060
FSM.TransitionMessage;
6161

6262
/**
63-
* @typedef {{ fda : string, controller : any }}
63+
* @typedef {{ fda : string, controller? : Object }}
6464
*/
6565
FSM.SessionCreationData;
6666

0 commit comments

Comments
 (0)