enable

v3.4.0
ES6 and ES7 feature detection.
enable es6 es7 detect generator

enable

NPM version build status Test coverage Gittip David deps node version npm download

Detect es6 and es7 features enable or not.

Install

$ npm install enable --save

Usage

var enable = require('enable');

if (enable.<feature>) {
  console.log(<feature> is supported);
}

/* Example:
if (enable.generator) {
  console.log('supports generator: `function* a() {}`');
}
*/

List of features:

Object related:

  • Object.is
  • Object.assign
  • Object.getOwnPropertySymbols
  • Object.setPrototypeOf
  • Object.observe
  • Object.Object.getOwnPropertyDescriptors

String related:

  • String.raw
  • String.fromCodePoint
  • String.prototype.codePointAt
  • String.prototype.normalize
  • String.prototype.repeat
  • String.prototype.startsWith
  • String.prototype.endsWith
  • String.prototype.contains
  • String.prototype.anchor
  • String.prototype.big
  • String.prototype.bold
  • String.prototype.fixed
  • String.prototype.fontcolor
  • String.prototype.fontsize
  • String.prototype.italics
  • String.prototype.link
  • String.prototype.small
  • String.prototype.strike
  • String.prototype.sub
  • String.prototype.sup

Number related:

  • Number.isFinite
  • Number.isInteger
  • Number.isSafeInteger
  • Number.isNaN
  • Number.EPSILON
  • Number.MIN_SAFE_INTEGER

Math related:

  • Math.clz32
  • Math.imul
  • Math.sign
  • Math.log10
  • Math.log2
  • Math.log1p
  • Math.expm1
  • Math.cosh
  • Math.sinh
  • Math.tanh
  • Math.acosh
  • Math.asinh
  • Math.atanh
  • Math.hypot
  • Math.trunc
  • Math.fround
  • Math.cbrt

RefExp methods:

  • RegExp.prototype.match
  • RegExp.prototype.replace
  • RegExp.prototype.split
  • RegExp.prototype.search

Map related:

  • Map
  • Map.prototype.size
  • Map.prototype.get
  • Map.prototype.has
  • Map.prototype.set
  • Map.prototype.delete
  • Map.prototype.keys
  • Map.prototype.values
  • Map.prototype.clear
  • Map.prototype.forEach
  • Map.prototype.entries

WeakMap related:

  • WeakMap
  • WeakMap.length
  • WeakMap.prototype.constructor
  • WeakMap.prototype.get
  • WeakMap.prototype.set
  • WeakMap.prototype.has
  • WeakMap.prototype.delete
  • WeakMap.prototype.clear

Set related:

  • Set
  • Set.prototype.constructor
  • Set.prototype.size
  • Set.prototype.add
  • Set.prototype.has
  • Set.prototype.delete
  • Set.prototype.clear
  • Set.prototype.forEach
  • Set.prototype.entries
  • Set.prototype.keys
  • Set.prototype.values

WeakSet related:

  • WeakSet
  • WeakSet.prototype.constructor
  • WeakSet.prototype.add
  • WeakSet.prototype.has
  • WeakSet.prototype.delete
  • WeakSet.prototype.clear

Array related:

  • Array.from
  • Array.of
  • Array.prototype.copyWithin
  • Array.prototype.find
  • Array.prototype.findIndex
  • Array.prototype.fill
  • Array.prototype.keys
  • Array.prototype.values
  • Array.prototype.entries

Others:

  • generator.
  • arrowFunction
  • asyncFunction
  • asyncArrowFunction
  • let.
  • const.
  • Promise.
  • class.

Test

$ npm install
$ npm test

Coverage

$ npm test-cov
npm i enable

Metadata

  • MIT
  • >= 0.10.0
  • fengmk2
  • released 2/15/2020

Downloads