@@ -18,6 +18,7 @@ import Data.Map ((!))
1818import qualified Data.Map as Map
1919import qualified Data.Set as Set
2020import qualified Data.Text.Encoding as Text
21+import qualified Data.Utf8 as Utf8
2122
2223import qualified AST.Canonical as Can
2324import qualified AST.Optimized as Opt
@@ -55,13 +56,13 @@ generate mode expression =
5556 JsExpr $
5657 case mode of
5758 Mode.Dev _ _ ->
58− JS.Call toChar [ JS.String (Text.encodeUtf8Builder char) ]
59+ JS.Call toChar [ JS.String (Utf8.toBuilder char) ]
5960
6061 Mode.Prod _ _ ->
61− JS.String (Text.encodeUtf8Builder char)
62+ JS.String (Utf8.toBuilder char)
6263
6364 Opt.Str string ->
64− JsExpr $ JS.String (Text.encodeUtf8Builder string)
65+ JsExpr $ JS.String (Utf8.toBuilder string)
6566
6667 Opt.Int int ->
6768 JsExpr $ JS.Int int
@@ -898,13 +899,13 @@ generateIfTest mode root (path, test) =
898899 strictEq value (JS.Int int)
899900
900901 DT.IsChr char ->
901− strictEq (JS.String (Text.encodeUtf8Builder char)) $
902+ strictEq (JS.String (Utf8.toBuilder char)) $
902903 case mode of
903904 Mode.Dev _ _ -> JS.Call (JS.Access value (Name.fromLocal "valueOf")) []
904905 Mode.Prod _ _ -> value
905906
906907 DT.IsStr string ->
907− strictEq value (JS.String (Text.encodeUtf8Builder string))
908+ strictEq value (JS.String (Utf8.toBuilder string))
908909
909910 DT.IsCons ->
910911 JS.Access value (Name.fromLocal "b")
@@ -937,10 +938,10 @@ generateCaseValue mode test =
937938 JS.Int int
938939
939940 DT.IsChr char ->
940− JS.String (Text.encodeUtf8Builder char)
941+ JS.String (Utf8.toBuilder char)
941942
942943 DT.IsStr string ->
943− JS.String (Text.encodeUtf8Builder string)
944+ JS.String (Utf8.toBuilder string)
944945
945946 DT.IsBool _ ->
946947 error "COMPILER BUG - there should never be three tests on a boolean"