diff --git a/src/Data/String/Regex.purs b/src/Data/String/Regex.purs index 410a80f..d19e84a 100644 --- a/src/Data/String/Regex.purs +++ b/src/Data/String/Regex.purs @@ -23,8 +23,8 @@ foreign import match \ };\ \}" :: Regex -> String -> [String] -foreign import replaceR - "function replaceR(r) {\ +foreign import replace + "function replace(r) {\ \ return function(s1) {\ \ return function(s2) {\ \ return s2.replace(r, s1);\ @@ -32,6 +32,17 @@ foreign import replaceR \ };\ \}" :: Regex -> String -> String -> String +foreign import replace' + "function replace$prime(r) {\ + \ return function(f) {\ + \ return function(s2) {\ + \ return s2.replace(r, function (match) {\ + \ return f(match)(Array.prototype.splice.call(arguments, 1, arguments.length - 3));\ + \ });\ + \ };\ + \ };\ + \}" :: Regex -> (String -> [String] -> String) -> String -> String + foreign import search "function search(r) {\ \ return function (s) {\