diff --git a/staging/src/TryPureScript.js b/staging/src/TryPureScript.js index 2ea8fe2c..98800074 100644 --- a/staging/src/TryPureScript.js +++ b/staging/src/TryPureScript.js @@ -6,14 +6,6 @@ exports.setInnerHTML = function(html) { }; }; -exports.encode = function(text) { - return text - .replace('<', '<') - .replace('>', '>') - .replace('&', '&') - .replace('"', '"'); -}; - exports.withConsoleImpl = function(f) { return function() { var oldLog = console.log; diff --git a/staging/src/TryPureScript.purs b/staging/src/TryPureScript.purs index 335e47cd..5e873c6b 100644 --- a/staging/src/TryPureScript.purs +++ b/staging/src/TryPureScript.purs @@ -20,11 +20,18 @@ module TryPureScript import Prelude import Data.Foldable (class Foldable, foldMap) import Data.String (joinWith) +import Data.String.Common (replace) +import Data.String.Pattern (Pattern(..), Replacement(..)) import Effect (Effect) foreign import setInnerHTML :: String -> Effect Unit -foreign import encode :: String -> String +encode :: String -> String +encode = + replace (Pattern "<") (Replacement "<") + <<< replace (Pattern ">") (Replacement ">") + <<< replace (Pattern "&") (Replacement "&") + <<< replace (Pattern "\"") (Replacement """) foreign import withConsoleImpl :: forall a