Skip to content
A library that combines Simple-JSON, Milkis (Fetch), and Chirashi (Error subtypes).
PureScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
test
.gitignore
LICENSE
README.md
bower.json
package.json

README.md

Purescript-Ochadzuke

A library that combines Simple-JSON, Milkis (Fetch), and Chirashi (Error subtypes).

It's ochadzuke made by mixing Chirashi and Milkis.

Usage

main :: Effect Unit
main = Aff.launchAff_ do

  -- works normally
  normal <- fetch' testUrl O.defaultFetchOptions'
  assertEqual'
    { expected: { "userId": 1 }
    , actual: normal
    }

  -- gives an error in readForeign on mismatched decoding type
  wrong <- Aff.attempt $ fetch' testUrl O.defaultFetchOptions'
  case wrong of
    Left e
      | Just (variant :: O.Error) <- C.readVariant e
      , Just multipleErrors <- V.prj O.readForeignS variant -> do
      pure unit
    Right (e :: { asdf :: String }) -> Aff.throwError $ Aff.error "False parsing result"
    Left e ->
      Aff.throwError e

  -- gives an error in otherS on random other failure
  wrong2 <- Aff.attempt $ fetch' (M.URL "sdflsjdfasdf") O.defaultFetchOptions'
  case wrong2 of
    Left e
      | Just (variant :: O.Error) <- C.readVariant e
      , Just other <- V.prj O.otherS variant ->
      assertEqual'
        { expected: "TypeError: Only absolute URLs are supported"
        , actual: Aff.message other
        }
    Right (e :: {}) -> Aff.throwError $ Aff.error "False parsing result"
    Left e -> Aff.throwError e

See the API Docs or the tests for usage.

You can’t perform that action at this time.