src/missing-support.js
function missingSupport (browserRequest, from) {
  const browsers = new BrowserSelection(browserRequest, from)
  let result = {}

  Object.keys(features).forEach(function (feature) {
    const featureData = caniuse.feature(caniuse.features[feature])
    const lackData = filterStats(browsers, featureData.stats)
    const missingData = lackData.missing
    const partialData = lackData.partial
    // browsers with missing or partial support for this feature
    const missing = lackingBrowsers(missingData)
    const partial = lackingBrowsers(partialData)

    if (missing.length > 0 || partial.length > 0) {
      result[feature] = {
        title: featureData.title,
        caniuseData: featureData
      }
      if (missing.length > 0) {
        result[feature].missingData = missingData
        result[feature].missing = missing
      }
      if (partial.length > 0) {
        result[feature].partialData = partialData
        result[feature].partial = partial
      }
    }
  })

  return {
    browsers: browsers.list(),
    features: result
  }
}
function missingSupport (browserRequest, from) {
  const browsers = new BrowserSelection(browserRequest, from)
  let result = {}

  Object.keys(features).forEach(function (feature) {
    const featureData = caniuse.feature(caniuse.features[feature])
    const lackData = filterStats(browsers, featureData.stats)
    const missingData = lackData.missing
    const partialData = lackData.partial
    // browsers with missing or partial support for this feature
    const missing = lackingBrowsers(missingData)
    const partial = lackingBrowsers(partialData)

    if (missing.length > 0 || partial.length > 0) {
      result[feature] = {
        title: featureData.title,
        caniuseData: featureData
      }
      if (missing.length > 0) {
        result[feature].missingData = missingData
        result[feature].missing = missing
      }
      if (partial.length > 0) {
        result[feature].partialData = partialData
        result[feature].partial = partial
      }
    }
  })

  return {
    browsers: browsers.list(),
    features: result
  }
}
function missingSupport ( browserRequest , from ) { const browsers = new BrowserSelection ( browserRequest , from ) let result = { } Object . keys ( features ) . forEach ( function ( feature ) { const featureData = caniuse . feature ( caniuse . features [ feature ] ) const lackData = filterStats ( browsers , featureData . stats ) const missingData = lackData . missing const partialData = lackData . partial // browsers with missing or partial support for this feature const missing = lackingBrowsers ( missingData ) const partial = lackingBrowsers ( partialData ) if ( missing . length > 0 || partial . length > 0 ) { result [ feature ] = { title : featureData . title , caniuseData : featureData } if ( missing . length > 0 ) { result [ feature ] . missingData = missingData result [ feature ] . missing = missing } if ( partial . length > 0 ) { result [ feature ] . partialData = partialData result [ feature ] . partial = partial } } } ) return { browsers : browsers . list ( ) , features : result } }
Get data on CSS features not supported by the given autoprefixer-like
browser selection.

@returns `{browsers, features}`, where `features` is an array of:
```
{
'feature-name': {
title: 'Title of feature'
missing: "IE (8), Chrome (31)"
missingData: {
// map of browser -> version -> (lack of)support code
ie: { '8': 'n' },
chrome: { '31': 'n' }
}
partialData: {
// map of browser -> version -> (partial)support code
ie: { '7': 'a' },
ff: { '29': 'a #1' }
}
caniuseData: {
// caniuse-db json data for this feature
}
},
'feature-name-2': {} // etc.
}
```

`feature-name` is a caniuse-db slug.
Get data on CSS features not supported by the given autoprefixer - like browser selection .