on master help sign in
Switch to using the Helpers.prop instead of PropId directly
4bcae02Evan Czaplicki
compiler/Generate/JavaScript.hs+2−3
@@ -87,10 +87,9 @@ expression (A region expr) =
87 do fields' <- forM fields $ \(f,e) -> do
87 do fields' <- forM fields $ \(f,e) -> do
88 (,) f <$> expression e
88 (,) f <$> expression e
89 let fieldMap = List.foldl' combine Map.empty fields'
89 let fieldMap = List.foldl' combine Map.empty fields'
90− return $ ObjectLit () $ (PropId () (var "_"), hidden fieldMap) : visible fieldMap
90+ return $ ObjectLit () $ (prop "_", hidden fieldMap) : visible fieldMap
91 where
91 where
92 combine r (k,v) = Map.insertWith (++) k [v] r
92 combine r (k,v) = Map.insertWith (++) k [v] r
93− prop = PropId () . var
94 hidden fs = ObjectLit () . map (prop *** ArrayLit ()) .
93 hidden fs = ObjectLit () . map (prop *** ArrayLit ()) .
95 Map.toList . Map.filter (not . null) $ Map.map tail fs
94 Map.toList . Map.filter (not . null) $ Map.map tail fs
96 visible fs = map (first prop) . Map.toList $ Map.map head fs
95 visible fs = map (first prop) . Map.toList $ Map.map head fs
@@ -311,7 +310,7 @@ generate unsafeModule =
311 jsExports = assign ("_elm" : names modul ++ ["values"]) (ObjectLit () exs)
310 jsExports = assign ("_elm" : names modul ++ ["values"]) (ObjectLit () exs)
312 where
311 where
313 exs = map entry . filter (not . Help.isOp) $ "_op" : exports modul
312 exs = map entry . filter (not . Help.isOp) $ "_op" : exports modul
314− entry x = (PropId () (var x), ref x)
313+ entry x = (prop x, ref x)
315
314
316 assign path expr =
315 assign path expr =
317 case path of
316 case path of