# File lib/execjs/johnson_runtime.rb, line 41 def unbox(value) case when function?(value) nil when string?(value) value.respond_to?(:force_encoding) ? value.force_encoding('UTF-8') : value when array?(value) value.map { |v| unbox(v) } when object?(value) value.inject({}) do |vs, (k, v)| vs[k] = unbox(v) unless function?(v) vs end else value end end