on master help sign in
Generate `main` values using the new format
bfb4f2dEvan Czaplicki
src/Generate/JavaScript/Expression.hs+13−13
@@ -233,19 +233,19 @@ generateCode expr =
233
233
234generateProgram :: Expr.Main Type.Canonical -> Opt.Expr -> State Int Code
234generateProgram :: Expr.Main Type.Canonical -> Opt.Expr -> State Int Code
235generateProgram kind body =
235generateProgram kind body =
236− let
237− gen fields =
238− generateCode $ Record (("main", body) : fields)
239− in
240− case kind of
236+ case kind of
241− Expr.VDom ->
237+ Expr.VDom ->
242− gen []
238+ do html <- generateJsExpr body
243−
239+ jsExpr (Var.coreNative "Platform" "htmlToProgram" <| html)
240+
244− Expr.NoFlags ->
241+ Expr.NoFlags ->
245− gen []
242+ do almostProgram <- generateJsExpr body
246−
243+ jsExpr (almostProgram `call` [])
244+
247− Expr.Flags tipe ->
245+ Expr.Flags tipe ->
246+ do almostProgram <- generateJsExpr body
248− gen [ ("flags", Foreign.decode tipe) ]
247+ flagDecoder <- generateJsExpr (Foreign.decode tipe)
248+ jsExpr (almostProgram <| flagDecoder)
249
249
250
250
251
251