def process(css, opts = {})
      opts = convert_options(opts)

      apply_wrapper =
        "(function(opts, pluginOpts) {" \
        "return eval(process.apply(this, opts, pluginOpts));" \
        "})"

      plugin_opts = params_with_browsers(opts[:from]).merge(opts)
      process_opts = {
        from: plugin_opts.delete(:from),
        to: plugin_opts.delete(:to),
        map: plugin_opts.delete(:map),
      }

      begin
        result = runtime.call(apply_wrapper, [css, process_opts, plugin_opts])
      rescue ExecJS::ProgramError => e
        contry_error = "BrowserslistError: " \
          "Country statistics is not supported " \
          "in client-side build of Browserslist"
        if e.message == contry_error
          raise "Country statistics is not supported in AutoprefixerRails. " \
            "Use Autoprefixer with webpack or other Node.js builder."
        else
          raise e
        end
      end

      Result.new(result["css"], result["map"], result["warnings"])
    end
def process(css, opts = {})
      opts = convert_options(opts)

      apply_wrapper =
        "(function(opts, pluginOpts) {" \
        "return eval(process.apply(this, opts, pluginOpts));" \
        "})"

      plugin_opts = params_with_browsers(opts[:from]).merge(opts)
      process_opts = {
        from: plugin_opts.delete(:from),
        to: plugin_opts.delete(:to),
        map: plugin_opts.delete(:map),
      }

      begin
        result = runtime.call(apply_wrapper, [css, process_opts, plugin_opts])
      rescue ExecJS::ProgramError => e
        contry_error = "BrowserslistError: " \
          "Country statistics is not supported " \
          "in client-side build of Browserslist"
        if e.message == contry_error
          raise "Country statistics is not supported in AutoprefixerRails. " \
            "Use Autoprefixer with webpack or other Node.js builder."
        else
          raise e
        end
      end

      Result.new(result["css"], result["map"], result["warnings"])
    end
Process `css` and return result.

 Options can be:
 * `from` with input CSS file name. Will be used in error messages.
 * `to` with output CSS file name.
 * `map` with true to generate new source map or with previous map.