'use strict'

var prefix = require('./prefix')

var cache = {}

var el

if (typeof document != 'undefined') el = document.createElement('p')

/**
 * Returns prefixed value if needed. Returns `false` if value is not supported.
 *
 * @param {String} property
 * @param {String} value
 * @return {String|Boolean}
 * @api public
 */
module.exports = function (property, value) {
    if (typeof value != 'string' || !isNaN(parseInt(value, 10))) return value

    var cacheKey = property + value

    if (cache[cacheKey] != null) return cache[cacheKey]

    // Test value as it is.
    el.style[property] = value

    // Value is supported as it is.
    if (el.style[property] == value) {
        cache[cacheKey] = value
    } else {
        // Test value with vendor prefix.
        value = prefix.css + value
        el.style[property] = value

        // Value is supported with vendor prefix.
        if (el.style[property] == value) cache[cacheKey] = value
    }

    if (!cache[cacheKey]) cache[cacheKey] = false

    return cache[cacheKey]
}

@@ -794,24 +794,156 @@
 css + value%0A
+        %0A        //hardcode test to convert %22flex%22 to %22-ms-flexbox%22 for IE10%0A        if(value === %22-ms-flex%22) value = %22-ms-flexbox%22%0A
         el.s

Update supported-value.js