class Cucumber::JsSupport::JsTransform

def initialize(js_language, regexp, js_function)

def initialize(js_language, regexp, js_function)
  @js_language, @regexp, @js_function = js_language, regexp.ToString, js_function
end

def invoke(arg)

def invoke(arg)
  @js_language.current_world.execute(@js_function, [arg])
end

def match(arg)

def match(arg)
  arg = JsSupport.argument_safe_string(arg)
  matches = eval_js "#{@regexp}.exec(#{arg});"
  matches ? matches[1..-1] : nil
end