lib/Transition.js
/**
 * Transition Implementation
 * @param initialState Initial State of the transition
 * @param finalState final state of the transition. Can be a final state value, or a function, for cases of dynamic
 *        states.
 * @param operation operation to be executed to achieve transition from initial to final state
 * @constructor
 */
Transition Implementation
@param initialState Initial State of the transition
@param finalState final state of the transition. Can be a final state value, or a function, for cases of dynamic
states.
@param operation operation to be executed to achieve transition from initial to final state
@constructor
Transition Implementation @param initialState Initial State of the transition @param finalState final state of the transition . Can be a final state value or a function for cases of dynamic states . @param operation operation to be executed to achieve transition from initial to final state @constructor
function Transition(initialState, finalState, operation) {
    if (!initialState) throw new Error("ERROR: Initial state must be provided when constructing a transition");
    if (!finalState) throw new Error("ERROR: Final state must be provided when constructing a transition");
    if (!operation || !operation.constructor || !(operation.constructor.name == "Operation")) throw new Error("ERROR: Operations must be of type Operation");
    this._initialState = initialState;
    this._finalState = finalState;
    this._operation = operation;
}
function Transition ( initialState , finalState , operation ) { if ( ! initialState ) throw new Error ( "ERROR: Initial state must be provided when constructing a transition" ) ; if ( ! finalState ) throw new Error ( "ERROR: Final state must be provided when constructing a transition" ) ; if ( ! operation || ! operation . constructor || ! ( operation . constructor . name == "Operation" ) ) throw new Error ( "ERROR: Operations must be of type Operation" ) ; this . _initialState = initialState ; this . _finalState = finalState ; this . _operation = operation ; }
Transition Implementation
 @param initialState Initial State of the transition
 @param finalState final state of the transition.
Transition Implementation @param initialState Initial State of the transition @param finalState final state of the transition .
//this._name = new StateTransitionExpression(operation.getName() + operationToken + initialState + expressionToken + finalState).getName();