Throw proper parse errors, stop using error
This commit is contained in:
parent
ca75e60628
commit
082e6a20c0
1 changed files with 5 additions and 5 deletions
|
@ -72,8 +72,8 @@ exportEvent = do
|
|||
T.Data "Signal" [t] ->
|
||||
case isExportable t of
|
||||
Nothing -> return (ExportEvent eventName elmVar tipe)
|
||||
Just err -> error err
|
||||
_ -> error "When importing foreign events, the imported value must have type Signal."
|
||||
Just err -> fail err
|
||||
_ -> fail "When importing foreign events, the imported value must have type Signal."
|
||||
|
||||
importEvent :: IParser (Declaration t v)
|
||||
importEvent = do
|
||||
|
@ -89,14 +89,14 @@ importEvent = do
|
|||
T.Data "Signal" [t] ->
|
||||
case isExportable t of
|
||||
Nothing -> return (ImportEvent eventName baseValue elmVar tipe)
|
||||
Just err -> error err
|
||||
_ -> error "When importing foreign events, the imported value must have type Signal."
|
||||
Just err -> fail err
|
||||
_ -> fail "When importing foreign events, the imported value must have type Signal."
|
||||
|
||||
jsVar :: IParser String
|
||||
jsVar = betwixt '"' '"' $ do
|
||||
v <- (:) <$> (letter <|> char '_') <*> many (alphaNum <|> char '_')
|
||||
if Set.notMember v jsReserveds then return v else
|
||||
error $ "'" ++ v ++
|
||||
fail $ "'" ++ v ++
|
||||
"' is not a good name for a importing or exporting JS values."
|
||||
|
||||
isExportable tipe =
|
||||
|
|
Loading…
Reference in a new issue