function styleDetector(style, rule, isFallback) {
  for (const prop in style) {
    const value = style[prop]

    if (Array.isArray(value)) {
      // Check double arrays to avoid recursion.
      if (!Array.isArray(value[0])) {
        if (prop === 'fallbacks') {
          for (let index = 0; index < style.fallbacks.length; index++) {
            style.fallbacks[index] = styleDetector(style.fallbacks[index], rule, true)
          }
          continue
        }

        style[prop] = processArray(value, prop, propArray, rule)
        // Avoid creating properties with empty values
        if (!style[prop].length) delete style[prop]
      }
    } else if (typeof value === 'object') {
      if (prop === 'fallbacks') {
        style.fallbacks = styleDetector(style.fallbacks, rule, true)
        continue
      }

      style[prop] = objectToArray(value, prop, rule, isFallback)
      // Avoid creating properties with empty values
      if (!style[prop].length) delete style[prop]
    }

    // Maybe a computed value resulting in an empty string
    else if (style[prop] === '') delete style[prop]
  }

  return style
}
Detect if a style needs to be converted.