Skip to content

Instantly share code, notes, and snippets.

@beckyconning
Created September 13, 2017 11:14
Show Gist options
  • Save beckyconning/db1f0cc8a036348a7d4be0c2f5b1d33f to your computer and use it in GitHub Desktop.
Save beckyconning/db1f0cc8a036348a7d4be0c2f5b1d33f to your computer and use it in GitHub Desktop.
load  List.List DeckId  WorkspaceDSL Unit
load cursor = do
  st ← H.get
  case st.stateMode of
    Loadingdo
      rootId ← H.lift P.loadWorkspace
      case rootId of
        Left err → do
          providers ←
            Quasar.retrieveAuthProviders <#> case _ of
              Right (Just providers) → providers
              _ → []
          H.modify _
            { stateMode = Error err
            , providers = providers
            }
          for_ (GE.fromQError err) GE.raiseGlobalError
        Right _ → loadCursor cursor
    _ → loadCursor cursor
  -- Present consumer changes if needed
  { eval: cardEval, accessType } ← lift Wiring.expose
  loadedConsumerChanges ← H.liftAff $ takeVar cardEval.loadedConsumerChanges
  H.modify _ { consumerChangesNotice = loadedConsumerChanges && AT.isReadOnly accessType }

instead of

load  List.List DeckId  WorkspaceDSL Unit
load cursor = do
  st ← H.get
  case st.stateMode of
    Loadingdo
      rootId ← H.lift P.loadWorkspace
      case rootId of
        Left err → do
          providers ←
            Quasar.retrieveAuthProviders <#> case _ of
              Right (Just providers) → providers
              _ → []
          H.modify _
            { stateMode = Error err
            , providers = providers
            }
          for_ (GE.fromQError err) GE.raiseGlobalError
        Right _ → loadCursor cursor
    _ → loadCursor cursor
  presentConsumerChangesNoticeIfNeeded

presentConsumerChangesNoticeIfNeeded  WorkspaceDSL Unit
presentConsumerChangesNoticeIfNeeded = do
  { eval: cardEval, accessType } ← lift Wiring.expose
  loadedConsumerChanges ← H.liftAff $ takeVar cardEval.loadedConsumerChanges
  H.modify _ { consumerChangesNotice = loadedConsumerChanges && AT.isReadOnly accessType }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment