@@ -13,9 +13,10 @@
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
16−module Language.PureScript.Optimizer.Blocks (
16+module Language.PureScript.Optimizer.Blocks
17− collapseNestedBlocks
17+ ( collapseNestedBlocks
20import Language.PureScript.CodeGen.JS.AST
21import Language.PureScript.CodeGen.JS.AST
@@ -31,3 +32,11 @@ collapseNestedBlocks = everywhereOnJS collapse
31 go :: JS -> [JS]
32 go :: JS -> [JS]
32 go (JSBlock sts) = sts
33 go (JSBlock sts) = sts
33 go s = [s]
34 go s = [s]
36+collapseNestedIfs :: JS -> JS
37+collapseNestedIfs = everywhereOnJS collapse
40+ collapse (JSIfElse cond1 (JSBlock [JSIfElse cond2 body Nothing]) Nothing) =
41+ JSIfElse (JSBinary And cond1 cond2) body Nothing