feature-detect-es6
Advanced tools
Comparing version 1.0.0 to 1.1.0
@@ -24,8 +24,3 @@ 'use strict' | ||
exports.class = function () { | ||
try { | ||
eval('class Something {}') | ||
return true | ||
} catch (err) { | ||
return false | ||
} | ||
return evaluates('class Something {}') | ||
} | ||
@@ -39,8 +34,3 @@ | ||
exports.arrowFunction = function () { | ||
try { | ||
eval('var f = x => 1') | ||
return true | ||
} catch (err) { | ||
return false | ||
} | ||
return evaluates('var f = x => 1') | ||
} | ||
@@ -54,8 +44,3 @@ | ||
exports.let = function () { | ||
try { | ||
eval('let a = 1') | ||
return true | ||
} catch (err) { | ||
return false | ||
} | ||
return evaluates('let a = 1') | ||
} | ||
@@ -69,8 +54,3 @@ | ||
exports.const = function () { | ||
try { | ||
eval('const a = 1') | ||
return true | ||
} catch (err) { | ||
return false | ||
} | ||
return evaluates('const a = 1') | ||
} | ||
@@ -112,8 +92,3 @@ | ||
exports.generators = function () { | ||
try { | ||
eval('function* test() {}') | ||
return true | ||
} catch (err) { | ||
return false | ||
} | ||
return evaluates('function* test() {}') | ||
} | ||
@@ -136,8 +111,3 @@ | ||
exports.templateStrings = function () { | ||
try { | ||
eval('var a = `a`') | ||
return true | ||
} catch (err) { | ||
return false | ||
} | ||
return evaluates('var a = `a`') | ||
} | ||
@@ -153,1 +123,28 @@ | ||
} | ||
/** | ||
* Returns true if destructuring is available. | ||
* | ||
* @returns {boolean} | ||
*/ | ||
exports.destructuring = function () { | ||
return evaluates("var { first: f, last: l } = { first: 'Jane', last: 'Doe' }") | ||
} | ||
/** | ||
* Returns true if the spread operator (`...`) is available. | ||
* | ||
* @returns {boolean} | ||
*/ | ||
exports.spread = function () { | ||
return evaluates('Math.max(...[ 5, 10 ])') | ||
} | ||
function evaluates (statement) { | ||
try { | ||
eval(statement) | ||
return true | ||
} catch (err) { | ||
return false | ||
} | ||
} |
{ | ||
"name": "feature-detect-es6", | ||
"author": "Lloyd Brookes <75pound@gmail.com>", | ||
"version": "1.0.0", | ||
"version": "1.1.0", | ||
"description": "Detect which ES6 features are available.", | ||
@@ -6,0 +6,0 @@ "repository": "https://github.com/75lb/feature-detect-es6.git", |
@@ -33,2 +33,4 @@ [![view on npm](http://img.shields.io/npm/v/feature-detect-es6.svg)](https://www.npmjs.org/package/feature-detect-es6) | ||
* [.symbols()](#module_feature-detect-es6.symbols) ⇒ <code>boolean</code> | ||
* [.destructuring()](#module_feature-detect-es6.destructuring) ⇒ <code>boolean</code> | ||
* [.spread()](#module_feature-detect-es6.spread) ⇒ <code>boolean</code> | ||
@@ -85,5 +87,15 @@ <a name="module_feature-detect-es6.class"></a> | ||
**Kind**: static method of <code>[feature-detect-es6](#module_feature-detect-es6)</code> | ||
<a name="module_feature-detect-es6.destructuring"></a> | ||
### detect.destructuring() ⇒ <code>boolean</code> | ||
Returns true if destructuring is available. | ||
**Kind**: static method of <code>[feature-detect-es6](#module_feature-detect-es6)</code> | ||
<a name="module_feature-detect-es6.spread"></a> | ||
### detect.spread() ⇒ <code>boolean</code> | ||
Returns true if the spread operator (`...`) is available. | ||
**Kind**: static method of <code>[feature-detect-es6](#module_feature-detect-es6)</code> | ||
* * * | ||
© 2015 Lloyd Brookes \<75pound@gmail.com\>. Documented by [jsdoc-to-markdown](https://github.com/jsdoc2md/jsdoc-to-markdown). |
@@ -53,1 +53,11 @@ var detect = require('../') | ||
}) | ||
test('.destructuring', function (t) { | ||
t.strictEqual(detect.destructuring(), false) | ||
t.end() | ||
}) | ||
test('.spread', function (t) { | ||
t.strictEqual(detect.spread(), false) | ||
t.end() | ||
}) |
@@ -53,1 +53,11 @@ var detect = require('../') | ||
}) | ||
test('.destructuring', function (t) { | ||
t.strictEqual(detect.destructuring(), false) | ||
t.end() | ||
}) | ||
test('.spread', function (t) { | ||
t.strictEqual(detect.spread(), false) | ||
t.end() | ||
}) |
@@ -53,1 +53,11 @@ var detect = require('../') | ||
}) | ||
test('.destructuring', function (t) { | ||
t.strictEqual(detect.destructuring(), false) | ||
t.end() | ||
}) | ||
test('.spread', function (t) { | ||
t.strictEqual(detect.spread(), false) | ||
t.end() | ||
}) |
@@ -1,13 +0,22 @@ | ||
if (process.env.VERSION === 'node') { | ||
console.log('Running node tests') | ||
require('./es6-node') | ||
} else if (process.env.VERSION === 'iojs') { | ||
console.log('Running iojs tests') | ||
require('./es6-iojs') | ||
} else if (process.env.VERSION === '0.12') { | ||
console.log('Running es5-0.12 tests') | ||
require('./es5-0.12') | ||
} else { | ||
console.log('Running es5-0.10 tests') | ||
require('./es5-0.10') | ||
switch (process.env.VERSION) { | ||
case '5.0': | ||
console.log('Running 5.0 tests') | ||
require('./es6-5.0') | ||
break | ||
case '4.1': | ||
console.log('Running 4.1 tests') | ||
require('./es6-4.1') | ||
break | ||
case 'iojs': | ||
console.log('Running iojs tests') | ||
require('./es6-iojs') | ||
break | ||
case '0.12': | ||
console.log('Running es5-0.12 tests') | ||
require('./es5-0.12') | ||
break | ||
case '0.10': | ||
console.log('Running es5-0.10 tests') | ||
require('./es5-0.10') | ||
break | ||
} |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
17477
13
411
100
2