createAuthMachine function

NavigationMachine<SAM, EAM, TAM> createAuthMachine()

Implementation

NavigationMachine<SAM, EAM, TAM> createAuthMachine() =>
    NavigationMachine<SAM, EAM, TAM>(
      events: EAM.values,
      name: authMachineName,
      initialStateId: SAM.init,
      states: {
        SAM.init: State(
          etm: {
            EAM.signIn: [TAM.toSignedIn],
            EAM.signOut: [TAM.toSignedOut],
          },
          onEntry: _createAuthChangeAction(),
        ),
        SAM.signedOut: State(
          etm: {
            EAM.signIn: [TAM.toSignedIn],
          },
          regions: [
            Region<SAM, EAM, TAM, SSoM>(machine: createSignedOutMachine()),
          ],
        ),
        SAM.signedIn: State(
          etm: {
            EAM.signOut: [TAM.toSignedOut],
          },
          regions: [
            Region<SAM, EAM, TAM, SSiM>(machine: createSignedInMachine()),
          ],
        ),
      },
      transitions: {
        TAM.toSignedIn: Transition(to: SAM.signedIn),
        TAM.toSignedOut: Transition(to: SAM.signedOut),
      },
    );