|
|
|
|
[![Coveralls – test coverage
|
|
|
|
|
](https://img.shields.io/coveralls/studio-b12/array-from.svg?style=flat-square
|
|
|
|
|
)](https://coveralls.io/r/studio-b12/array-from
|
|
|
|
|
) [![Travis – build status
|
|
|
|
|
](https://img.shields.io/travis/studio-b12/array-from/master.svg?style=flat-square
|
|
|
|
|
)](https://travis-ci.org/studio-b12/array-from
|
|
|
|
|
) [![David – status of dependencies
|
|
|
|
|
](https://img.shields.io/david/studio-b12/array-from.svg?style=flat-square
|
|
|
|
|
)](https://david-dm.org/studio-b12/array-from
|
|
|
|
|
) [![Code style: airbnb
|
|
|
|
|
](https://img.shields.io/badge/code%20style-airbnb-777777.svg?style=flat-square
|
|
|
|
|
)](https://github.com/airbnb/javascript)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
array-from
|
|
|
|
|
==========
|
|
|
|
|
|
|
|
|
|
**A ponyfill for the ES 2015 [`Array.from()`][].**
|
|
|
|
|
|
|
|
|
|
*** Ponyfill**: A polyfill that doesn't overwrite the native method.
|
|
|
|
|
*** ES 2015**: The new name for ES6 that [nobody expected][].
|
|
|
|
|
|
|
|
|
|
Modeled after the final ES 2015 spec. Credits for the implementation go to the amazing folks of the MDN and the amazing guy [@barberboy](https://github.com/barberboy).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[`Array.from()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from "Array.from()"
|
|
|
|
|
[nobody expected]: http://webreflection.blogspot.de/2015/01/javascript-and-living-ecmascript.html "JavaScript and the living ECMAScript Standard"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Installation
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
$ npm install array-from
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Usage
|
|
|
|
|
-----
|
|
|
|
|
|
|
|
|
|
Recommended:
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
var arrayFrom = require('array-from');
|
|
|
|
|
// You’ll get the native `Array.from` if it’s available.
|
|
|
|
|
|
|
|
|
|
function () {console.log(
|
|
|
|
|
arrayFrom(arguments).map(require('1-liners/increment'))
|
|
|
|
|
);}(1, 2, 3);
|
|
|
|
|
//» [2, 3, 4]
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
You can also use it as a classical polyfill. It’s [not recommended][], but sometimes practical:
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
if (!Array.from) Array.from = require('array-from');
|
|
|
|
|
// This will affect all loaded modules.
|
|
|
|
|
|
|
|
|
|
function () {console.log(
|
|
|
|
|
Array.from(arguments).map(require('1-liners/increment'))
|
|
|
|
|
);}(1, 2, 3);
|
|
|
|
|
//» [2, 3, 4]
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
[not recommended]: https://github.com/sindresorhus/object-assign/issues/10#issuecomment-65065859 "Optionally shim native method?"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Support note
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
We support the _current_ and _active LTS_ release of Node.js. More info in [nodejs/LTS](https://github.com/nodejs/LTS#lts_schedule).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
License
|
|
|
|
|
-------
|
|
|
|
|
|
|
|
|
|
[MIT][] © [Studio B12 GmbH][]
|
|
|
|
|
|
|
|
|
|
[MIT]: ./License.md
|
|
|
|
|
[Studio B12 GmbH]: https://github.com/studio-b12
|