{-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE TypeSynonymInstances #-} #ifdef ghcjs_HOST_OS {-# OPTIONS_GHC -Wno-dodgy-imports #-} #endif ----------------------------------------------------------------------------- -- -- Module : Language.Javascript.JSaddle.String -- Copyright : (c) Hamish Mackenzie -- License : MIT -- -- Maintainer : Hamish Mackenzie -- -- | JavaScript string conversion functions -- ----------------------------------------------------------------------------- module Language.Javascript.JSaddle.String ( JSString -- * Data.Text helpers , textFromJSString , textToJSString , strToText , textToStr ) where import Data.Text (Text) import Language.Javascript.JSaddle.Types (JSString(..)) #ifdef ghcjs_HOST_OS import Data.JSString.Text (textFromJSString, textToJSString) #endif #ifndef ghcjs_HOST_OS textFromJSString :: JSString -> Text textFromJSString (JSString text) = text textToJSString :: Text -> JSString textToJSString = JSString #endif -- | Convert a JavaScript string to a Haskell 'Text' strToText :: JSString -> Text strToText = textFromJSString -- | Convert a Haskell 'Text' to a JavaScript string textToStr :: Text -> JSString textToStr = textToJSString