Skip to content

Instantly share code, notes, and snippets.

@patrickcousins
Created April 12, 2018 04:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save patrickcousins/cd776d137f7196d3d5cc55e8198c3c74 to your computer and use it in GitHub Desktop.
Save patrickcousins/cd776d137f7196d3d5cc55e8198c3c74 to your computer and use it in GitHub Desktop.
sealed class SocialSignIn {
   sealed class SignIn: SocialSignIn() {
       class Success : SignIn()
       sealed class TwoFactor : SignIn() {
           class Success : TwoFactor()
           class RetryTwoFactor : TwoFactor()
           class Fail : TwoFactor()
           class RetrySocial : TwoFactor()
       }
       class Fail : SignIn()
       class RetrySocial : SignIn()
   }
   sealed class Link: SocialSignIn() {
       class Success : Link()
       sealed class TwoFactor : Link() {
           class Success : TwoFactor()
           class RetryTwoFactor : TwoFactor()
           class Fail : TwoFactor()
           class RetrySocial : TwoFactor()
       }
       class Fail : Link()
       class RetrySocial : Link()
   }
   sealed class Register : SocialSignIn() {
       class Success : Register()
       class Fail : Register()
       class RetrySocial : Register()
   }
   class Error : SocialSignIn()
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment