class ExecJS::RubyRhinoRuntime::Context
def unbox(value)
def unbox(value) case value = ::Rhino::to_ruby(value) when Java::OrgMozillaJavascript::NativeFunction nil when Java::OrgMozillaJavascript::NativeObject value.inject({}) do |vs, (k, v)| case v when Java::OrgMozillaJavascript::NativeFunction, ::Rhino::JS::Function nil else vs[k] = unbox(v) end vs end when Array value.map { |v| unbox(v) } else value end end