Skip to content

Commit 7b194e4

Browse files
committed
avoid unneccessary String -> JSString packing for RegExp constructor
1 parent 148b7bc commit 7b194e4

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

Data/JSString/RegExp.hs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
{-# LANGUAGE GHCForeignImportPrim #-}
44
{-# LANGUAGE UnliftedFFITypes #-}
55
{-# LANGUAGE UnboxedTuples #-}
6+
{-# LANGUAGE OverloadedStrings #-}
67
{-# LANGUAGE MagicHash #-}
78

89
module Data.JSString.RegExp ( RegExp
@@ -38,10 +39,10 @@ data Match = Match { matched :: !JSString -- ^ the matched string
3839
}
3940

4041
create :: REFlags -> JSString -> RegExp
41-
create flags pat = js_createRE pat $ pack $
42-
if multiline flags then "m" else ""
43-
++
44-
if ignoreCase flags then "i" else ""
42+
create flags pat = js_createRE pat flags'
43+
where
44+
flags' | multiline flags = if ignoreCase flags then "mi" else "m"
45+
| otherwise = if ignoreCase flags then "i" else ""
4546
{-# INLINE create #-}
4647

4748
pattern :: RegExp -> JSString

0 commit comments

Comments
 (0)