function camelCase() {
  function onProcessStyle(style) {
    if (Array.isArray(style)) {
      // Handle rules like @font-face, which can have multiple styles in an array
      for (let index = 0; index < style.length; index++) {
        style[index] = convertCase(style[index])
      }
      return style
    }

    return convertCase(style)
  }

  function onChangeValue(value, prop, rule) {
    if (prop.indexOf('--') === 0) {
      return value
    }

    const hyphenatedProp = hyphenate(prop)

    // There was no camel case in place
    if (prop === hyphenatedProp) return value

    rule.prop(hyphenatedProp, value)

    // Core will ignore that property value we set the proper one above.
    return null
  }

  return {onProcessStyle, onChangeValue}
}
Allow camel cased property names by converting them back to dasherized.